* Generate common/djangoapps import shims for LMS * Generate common/djangoapps import shims for Studio * Stop appending project root to sys.path * Stop appending common/djangoapps to sys.path * Import from common.djangoapps.course_action_state instead of course_action_state * Import from common.djangoapps.course_modes instead of course_modes * Import from common.djangoapps.database_fixups instead of database_fixups * Import from common.djangoapps.edxmako instead of edxmako * Import from common.djangoapps.entitlements instead of entitlements * Import from common.djangoapps.pipline_mako instead of pipeline_mako * Import from common.djangoapps.static_replace instead of static_replace * Import from common.djangoapps.student instead of student * Import from common.djangoapps.terrain instead of terrain * Import from common.djangoapps.third_party_auth instead of third_party_auth * Import from common.djangoapps.track instead of track * Import from common.djangoapps.util instead of util * Import from common.djangoapps.xblock_django instead of xblock_django * Add empty common/djangoapps/__init__.py to fix pytest collection * Fix pylint formatting violations * Exclude import_shims/ directory tree from linting
257 lines
11 KiB
YAML
257 lines
11 KiB
YAML
# ingested edx-platform/lms/envs/bok_choy.auth.json
|
|
# ingested edx-platform/lms/envs/bok_choy.env.json
|
|
ACTIVATION_EMAIL_SUPPORT_LINK: https://support.example.com/activation-email-help.html
|
|
ANALYTICS_DASHBOARD_URL: ''
|
|
AWS_ACCESS_KEY_ID: ''
|
|
AWS_SECRET_ACCESS_KEY: ''
|
|
BUGS_EMAIL: bugs@example.com
|
|
BULK_EMAIL_DEFAULT_FROM_EMAIL: no-reply@example.com
|
|
BADGING_BACKEND: 'lms.djangoapps.badges.backends.tests.dummy_backend.DummyBackend'
|
|
BLOCK_STRUCTURES_SETTINGS:
|
|
# We have CELERY_ALWAYS_EAGER set to True, so there's no asynchronous
|
|
# code running and the celery routing is unimportant.
|
|
# It does not make sense to retry.
|
|
TASK_MAX_RETRIES: 0
|
|
# course publish task delay is irrelevant is because the task is run synchronously
|
|
COURSE_PUBLISH_TASK_DELAY: 0
|
|
# retry delay is irrelevent because we never retry
|
|
TASK_DEFAULT_RETRY_DELAY: 0
|
|
|
|
CACHES:
|
|
celery:
|
|
BACKEND: django.core.cache.backends.memcached.MemcachedCache
|
|
KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
|
|
KEY_PREFIX: integration_celery
|
|
LOCATION: ['localhost:11211']
|
|
default:
|
|
BACKEND: django.core.cache.backends.memcached.MemcachedCache
|
|
KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
|
|
KEY_PREFIX: sandbox_default
|
|
LOCATION: ['localhost:11211']
|
|
general:
|
|
BACKEND: django.core.cache.backends.memcached.MemcachedCache
|
|
KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
|
|
KEY_PREFIX: sandbox_general
|
|
LOCATION: ['localhost:11211']
|
|
mongo_metadata_inheritance:
|
|
BACKEND: django.core.cache.backends.memcached.MemcachedCache
|
|
KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
|
|
KEY_PREFIX: integration_mongo_metadata_inheritance
|
|
LOCATION: ['localhost:11211']
|
|
staticfiles:
|
|
BACKEND: django.core.cache.backends.memcached.MemcachedCache
|
|
KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
|
|
KEY_PREFIX: integration_static_files
|
|
LOCATION: ['localhost:11211']
|
|
|
|
# Capture the console log via template includes, until webdriver supports log capture again
|
|
CAPTURE_CONSOLE_LOG: True
|
|
|
|
CELERY_BROKER_HOSTNAME: localhost
|
|
CELERY_BROKER_PASSWORD: celery
|
|
CELERY_BROKER_TRANSPORT: amqp
|
|
CELERY_BROKER_USER: celery
|
|
CELERY_ALWAYS_EAGER: True
|
|
CELERY_RESULT_BACKEND: 'django-cache'
|
|
|
|
CERT_QUEUE: certificates
|
|
CMS_BASE: localhost:8031
|
|
CODE_JAIL:
|
|
limits: {REALTIME: 3, VMEM: 0}
|
|
COMMENTS_SERVICE_KEY: password
|
|
COMMENTS_SERVICE_URL: http://localhost:4567
|
|
COMPLETION_BY_VIEWING_DELAY_MS: 1000
|
|
CONTACT_EMAIL: info@example.com
|
|
CONTENTSTORE:
|
|
DOC_STORE_CONFIG:
|
|
collection: modulestore
|
|
db: test
|
|
host: [localhost]
|
|
port: 27017
|
|
ENGINE: xmodule.contentstore.mongo.MongoContentStore
|
|
OPTIONS:
|
|
db: test
|
|
host: [localhost]
|
|
port: 27017
|
|
DATABASES:
|
|
default: {ENGINE: django.db.backends.mysql, HOST: localhost, NAME: edxtest, PASSWORD: '',
|
|
PORT: '3306', USER: root}
|
|
student_module_history: {ENGINE: django.db.backends.mysql, HOST: localhost, NAME: student_module_history_test,
|
|
PASSWORD: '', PORT: '3306', USER: root}
|
|
DEFAULT_FEEDBACK_EMAIL: feedback@example.com
|
|
DEFAULT_FROM_EMAIL: registration@example.com
|
|
|
|
# Enable debug so that static assets are served by Django
|
|
DEBUG: True
|
|
DJFS: {aws_access_key_id: test, aws_secret_access_key: test, bucket: test, prefix: test,
|
|
type: s3fs}
|
|
DOC_STORE_CONFIG:
|
|
collection: modulestore
|
|
db: test
|
|
host: [localhost]
|
|
port: 27017
|
|
# Configure the LMS to use our stub eCommerce implementation
|
|
ECOMMERCE_API_URL: 'http://localhost:8043/api/v2/'
|
|
# Configure the LMS to use our stub EdxNotes implementation
|
|
EDXNOTES_PUBLIC_API: 'http://localhost:8042/api/v1'
|
|
EDXNOTES_INTERNAL_API: 'http://localhost:8042/api/v1'
|
|
|
|
EDXNOTES_CONNECT_TIMEOUT: 10 # time in seconds
|
|
EDXNOTES_READ_TIMEOUT: 10 # time in seconds
|
|
|
|
NOTES_DISABLED_TABS: []
|
|
|
|
EMAIL_BACKEND: django.core.mail.backends.dummy.EmailBackend
|
|
EVENT_TRACKING_BACKENDS:
|
|
mongo:
|
|
ENGINE: eventtracking.backends.mongodb.MongoBackend
|
|
OPTIONS: {collection: events, database: test}
|
|
FEATURES:
|
|
ALLOW_AUTOMATED_SIGNUPS: true
|
|
AUTOMATIC_AUTH_FOR_TESTING: true
|
|
AUTOMATIC_VERIFY_STUDENT_IDENTITY_FOR_TESTING: true
|
|
CERTIFICATES_HTML_VIEW: true
|
|
CERTIFICATES_INSTRUCTOR_GENERATION: true
|
|
CUSTOM_COURSES_EDX: true,
|
|
ENABLE_COURSE_DISCOVERY: true
|
|
ENABLE_DISCUSSION_SERVICE: true
|
|
ENABLE_GRADE_DOWNLOADS: true
|
|
ENABLE_SPECIAL_EXAMS: true
|
|
ENABLE_THIRD_PARTY_AUTH: true
|
|
ENABLE_VERIFIED_CERTIFICATES: true
|
|
EXPOSE_CACHE_PROGRAMS_ENDPOINT: true
|
|
MODE_CREATION_FOR_TESTING: true
|
|
PREVIEW_LMS_BASE: 'preview.localhost:8003'
|
|
RESTRICT_AUTOMATIC_AUTH: false
|
|
SHOW_HEADER_LANGUAGE_SELECTOR: true
|
|
ENABLE_MAX_FAILED_LOGIN_ATTEMPTS: False
|
|
SQUELCH_PII_IN_LOGS: False
|
|
PREVENT_CONCURRENT_LOGINS: False
|
|
ENABLE_MOBILE_REST_API: True # Show video bumper in LMS
|
|
ENABLE_VIDEO_BUMPER: True # Show video bumper in LMS
|
|
SHOW_BUMPER_PERIODICITY: 1
|
|
# Enable courseware search for tests
|
|
ENABLE_COURSEWARE_SEARCH: True
|
|
# Enable dashboard search for tests
|
|
ENABLE_DASHBOARD_SEARCH: True
|
|
# discussion home panel, which includes a subscription on/off setting for discussion digest emails.
|
|
ENABLE_DISCUSSION_HOME_PANEL: True
|
|
# Enable support for OpenBadges accomplishments
|
|
ENABLE_OPENBADGES: True
|
|
ENABLE_LTI_PROVIDER: True
|
|
# Enable milestones app
|
|
MILESTONES_APP: True
|
|
# Enable oauth authentication, which we test.
|
|
ENABLE_OAUTH2_PROVIDER: True
|
|
OAUTH_ENFORCE_SECURE: False
|
|
ENABLE_PREREQUISITE_COURSES: True
|
|
ENABLE_COURSE_DISCOVERY: True
|
|
ENABLE_EDXNOTES: True
|
|
ENABLE_TEAMS: True
|
|
LICENSING: True
|
|
# Use the auto_auth workflow for creating users and logging them in
|
|
AUTOMATIC_AUTH_FOR_TESTING: True
|
|
RESTRICT_AUTOMATIC_AUTH: False
|
|
# Open up endpoint for faking Software Secure responses
|
|
ENABLE_SOFTWARE_SECURE_FAKE: True
|
|
# Disable instructor dash buttons for downloading course data when enrollment exceeds this number
|
|
MAX_ENROLLMENT_INSTR_BUTTONS: 4
|
|
ENABLE_ENROLLMENT_TRACK_USER_PARTITION: True
|
|
ENTRANCE_EXAMS: True
|
|
ENABLE_SPECIAL_EXAMS: True
|
|
PERSISTENT_GRADES_ENABLED_FOR_ALL_TESTS: True
|
|
ASSUME_ZERO_GRADE_IF_ABSENT_FOR_ALL_TESTS: True
|
|
|
|
|
|
GITHUB_REPO_ROOT: '** OVERRIDDEN **'
|
|
JWT_AUTH: {JWT_PRIVATE_SIGNING_JWK: '{"e": "AQAB", "d": "HIiV7KNjcdhVbpn3KT-I9n3JPf5YbGXsCIedmPqDH1d4QhBofuAqZ9zebQuxkRUpmqtYMv0Zi6ECSUqH387GYQF_XvFUFcjQRPycISd8TH0DAKaDpGr-AYNshnKiEtQpINhcP44I1AYNPCwyoxXA1fGTtmkKChsuWea7o8kytwU5xSejvh5-jiqu2SF4GEl0BEXIAPZsgbzoPIWNxgO4_RzNnWs6nJZeszcaDD0CyezVSuH9QcI6g5QFzAC_YuykSsaaFJhZ05DocBsLczShJ9Omf6PnK9xlm26I84xrEh_7x4fVmNBg3xWTLh8qOnHqGko93A1diLRCrKHOvnpvgQ",
|
|
"n": "o5cn3ljSRi6FaDEKTn0PS-oL9EFyv1pI7dRgffQLD1qf5D6sprmYfWWokSsrWig8u2y0HChSygR6Jn5KXBqQn6FpM0dDJLnWQDRXHLl3Ey1iPYgDSmOIsIGrV9ZyNCQwk03wAgWbfdBTig3QSDYD-sTNOs3pc4UD_PqAvU2nz_1SS2ZiOwOn5F6gulE1L0iE3KEUEvOIagfHNVhz0oxa_VRZILkzV-zr6R_TW1m97h4H8jXl_VJyQGyhMGGypuDrQ9_vaY_RLEulLCyY0INglHWQ7pckxBtI5q55-Vio2wgewe2_qYcGsnBGaDNbySAsvYcWRrqDiFyzrJYivodqTQ",
|
|
"q": "3T3DEtBUka7hLGdIsDlC96Uadx_q_E4Vb1cxx_4Ss_wGp1Loz3N3ZngGyInsKlmbBgLo1Ykd6T9TRvRNEWEtFSOcm2INIBoVoXk7W5RuPa8Cgq2tjQj9ziGQ08JMejrPlj3Q1wmALJr5VTfvSYBu0WkljhKNCy1KB6fCby0C9WE",
|
|
"p": "vUqzWPZnDG4IXyo-k5F0bHV0BNL_pVhQoLW7eyFHnw74IOEfSbdsMspNcPSFIrtgPsn7981qv3lN_staZ6JflKfHayjB_lvltHyZxfl0dvruShZOx1N6ykEo7YrAskC_qxUyrIvqmJ64zPW3jkuOYrFs7Ykj3zFx3Zq1H5568G0",
|
|
"kid": "BTZ9HA6K", "kty": "RSA"}', JWT_PUBLIC_SIGNING_JWK_SET: '{"keys": [{"kid":
|
|
"BTZ9HA6K", "e": "AQAB", "kty": "RSA", "n": "o5cn3ljSRi6FaDEKTn0PS-oL9EFyv1pI7dRgffQLD1qf5D6sprmYfWWokSsrWig8u2y0HChSygR6Jn5KXBqQn6FpM0dDJLnWQDRXHLl3Ey1iPYgDSmOIsIGrV9ZyNCQwk03wAgWbfdBTig3QSDYD-sTNOs3pc4UD_PqAvU2nz_1SS2ZiOwOn5F6gulE1L0iE3KEUEvOIagfHNVhz0oxa_VRZILkzV-zr6R_TW1m97h4H8jXl_VJyQGyhMGGypuDrQ9_vaY_RLEulLCyY0INglHWQ7pckxBtI5q55-Vio2wgewe2_qYcGsnBGaDNbySAsvYcWRrqDiFyzrJYivodqTQ"}]}',
|
|
JWT_SECRET_KEY: super-secret-key}
|
|
LMS_BASE: localhost:8003
|
|
LMS_ROOT_URL: http://localhost:8003
|
|
LOCAL_LOGLEVEL: INFO
|
|
LOGGING_ENV: sandbox
|
|
LOG_DIR: '** OVERRIDDEN **'
|
|
MEDIA_URL: /media/
|
|
MKTG_URL_LINK_MAP: {ABOUT: about, BLOG: blog, CAREERS: careers, CONTACT: contact,
|
|
COURSES: courses, DONATE: donate, HELP_CENTER: help-center, HONOR: honor, NEWS: news,
|
|
PRESS: press, PRIVACY: privacy, ROOT: root, SITEMAP.XML: sitemap_xml, TOS: tos,
|
|
WHAT_IS_VERIFIED_CERT: verified-certificate}
|
|
MODULESTORE:
|
|
default:
|
|
ENGINE: xmodule.modulestore.mixed.MixedModuleStore
|
|
OPTIONS:
|
|
mappings: {}
|
|
stores:
|
|
- DOC_STORE_CONFIG:
|
|
collection: modulestore
|
|
db: test
|
|
host: [localhost]
|
|
port: 27017
|
|
ENGINE: xmodule.modulestore.mongo.DraftMongoModuleStore
|
|
NAME: draft
|
|
OPTIONS:
|
|
collection: modulestore
|
|
db: test
|
|
default_class: xmodule.hidden_module.HiddenDescriptor
|
|
fs_root: '** OVERRIDDEN **'
|
|
host: [localhost]
|
|
port: 27017
|
|
render_template: common.djangoapps.edxmako.shortcuts.render_to_string
|
|
- ENGINE: xmodule.modulestore.xml.XMLModuleStore
|
|
NAME: xml
|
|
OPTIONS: {data_dir: '** OVERRIDDEN **', default_class: xmodule.hidden_module.HiddenDescriptor}
|
|
# We need to test different scenarios, following setting effectively disbale rate limiting
|
|
PASSWORD_RESET_IP_RATE: '1/s'
|
|
PASSWORD_RESET_EMAIL_RATE: '1/s'
|
|
PASSWORD_RESET_SUPPORT_LINK: https://support.example.com/password-reset-help.html
|
|
REGISTRATION_EXTENSION_FORM: openedx.core.djangoapps.user_api.tests.test_helpers.TestCaseForm
|
|
REGISTRATION_EXTRA_FIELDS: {city: hidden, country: required, gender: optional, goals: optional,
|
|
honor_code: required, level_of_education: optional, mailing_address: optional, terms_of_service: hidden,
|
|
year_of_birth: optional}
|
|
# Use MockSearchEngine as the search engine for test scenario
|
|
SEARCH_ENGINE: "search.tests.mock_search_engine.MockSearchEngine"
|
|
# this secret key should be the same as cms/envs/bok_choy.py's
|
|
SECRET_KEY: "very_secret_bok_choy_key"
|
|
|
|
SERVER_EMAIL: devops@example.com
|
|
SESSION_COOKIE_DOMAIN: null
|
|
SITE_NAME: localhost:8003
|
|
SOCIAL_SHARING_SETTINGS: {CERTIFICATE_FACEBOOK: true, CERTIFICATE_FACEBOOK_TEXT: 'Testing
|
|
facebook feature:', CUSTOM_COURSE_URLS: true, DASHBOARD_FACEBOOK: true, DASHBOARD_TWITTER: true,
|
|
DASHBOARD_TWITTER_TEXT: 'Testing feature:'}
|
|
STATIC_URL_BASE: /static/
|
|
SUPPORT_SITE_LINK: https://support.example.com
|
|
SYSLOG_SERVER: ''
|
|
TECH_SUPPORT_EMAIL: technical@example.com
|
|
THIRD_PARTY_AUTH_BACKENDS: [social_core.backends.google.GoogleOAuth2, social_core.backends.linkedin.LinkedinOAuth2,
|
|
social_core.backends.facebook.FacebookOAuth2, common.djangoapps.third_party_auth.dummy.DummyBackend,
|
|
common.djangoapps.third_party_auth.saml.SAMLAuthBackend]
|
|
THIRD_PARTY_AUTH:
|
|
Google:
|
|
SOCIAL_AUTH_GOOGLE_OAUTH2_KEY": "test"
|
|
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET": "test"
|
|
Facebook:
|
|
SOCIAL_AUTH_FACEBOOK_KEY": "test"
|
|
SOCIAL_AUTH_FACEBOOK_SECRET": "test"
|
|
TIME_ZONE: America/New_York
|
|
TRACKING_BACKENDS:
|
|
mongo:
|
|
ENGINE: common.djangoapps.track.backends.mongodb.MongoBackend
|
|
OPTIONS: {collection: events, database: test}
|
|
WIKI_ENABLED: true
|
|
WAFFLE_OVERRIDE: True
|
|
XQUEUE_INTERFACE:
|
|
basic_auth: [edx, edx]
|
|
django_auth: {password: password, username: lms}
|
|
# Configure the LMS to use our stub XQueue implementation
|
|
url: 'http://localhost:8040'
|
|
|
|
ZENDESK_API_KEY: ''
|
|
ZENDESK_USER: ''
|
|
|