bok_choy.py 1.8 KB
Newer Older
1 2 3
"""
Settings for bok choy tests
"""
4 5 6 7 8 9 10 11 12 13 14 15

import os
from path import path


########################## Prod-like settings ###################################
# These should be as close as possible to the settings we use in production.
# As in prod, we read in environment and auth variables from JSON files.
# Unlike in prod, we use the JSON files stored in this repo.
# This is a convenience for ensuring (a) that we can consistently find the files
# and (b) that the files are the same in Jenkins as in local dev.
os.environ['SERVICE_VARIANT'] = 'bok_choy'
16
os.environ['CONFIG_ROOT'] = path(__file__).abspath().dirname()  # pylint: disable=E1120
17

18
from .aws import *  # pylint: disable=W0401, W0614
19 20 21

######################### Testing overrides ####################################

Will Daly committed
22
# Needed for the reset database management command
23 24 25
INSTALLED_APPS += ('django_extensions',)

# Redirect to the test_root folder within the repo
26
TEST_ROOT = CONFIG_ROOT.dirname().dirname() / "test_root"  # pylint: disable=E1120
27 28 29 30 31
GITHUB_REPO_ROOT = (TEST_ROOT / "data").abspath()
LOG_DIR = (TEST_ROOT / "log").abspath()

# Configure Mongo modulestore to use the test folder within the repo
for store in ["default", "direct"]:
32
    MODULESTORE[store]['OPTIONS']['fs_root'] = (TEST_ROOT / "data").abspath()  # pylint: disable=E1120
33 34 35 36 37 38 39 40

# Enable django-pipeline and staticfiles
STATIC_ROOT = (TEST_ROOT / "staticfiles").abspath()
PIPELINE = True

# Silence noisy logs
import logging
LOG_OVERRIDES = [
41 42
    ('track.middleware', logging.CRITICAL),
    ('edx.discussion', logging.CRITICAL),
43 44 45 46
]
for log_name, log_level in LOG_OVERRIDES:
    logging.getLogger(log_name).setLevel(log_level)

47 48 49
# Use the auto_auth workflow for creating users and logging them in
FEATURES['AUTOMATIC_AUTH_FOR_TESTING'] = True

50 51
# Unfortunately, we need to use debug mode to serve staticfiles
DEBUG = True