From 6cdedddd222eaa130c665ef2e95131df507183a0 Mon Sep 17 00:00:00 2001 From: Kyle McCormick Date: Tue, 27 Aug 2024 14:19:26 -0400 Subject: [PATCH] feat: set `EDXAPP_TEST_MONGO_HOST=mongodb` in openedx-dev (#1083) Currently, we are asking devs to set this env var manually before they run tests. We may as well save them some keystrokes by setting it in the dev image programmatically. --- changelog.d/20240624_105125_kyle_test_mongo_host.md | 1 + docs/tutorials/edx-platform.rst | 1 - tutor/templates/build/openedx/Dockerfile | 4 ++++ 3 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 changelog.d/20240624_105125_kyle_test_mongo_host.md diff --git a/changelog.d/20240624_105125_kyle_test_mongo_host.md b/changelog.d/20240624_105125_kyle_test_mongo_host.md new file mode 100644 index 0000000000..7987cb4431 --- /dev/null +++ b/changelog.d/20240624_105125_kyle_test_mongo_host.md @@ -0,0 +1 @@ +[Improvement] Set `EDXAPP_TEST_MONGO_HOST` env var in the openedx-dev image so that it no longer needs to be set by hand when running edx-platform unit tests (by @kdmccormick). diff --git a/docs/tutorials/edx-platform.rst b/docs/tutorials/edx-platform.rst index 793498a248..ea687b9687 100644 --- a/docs/tutorials/edx-platform.rst +++ b/docs/tutorials/edx-platform.rst @@ -151,7 +151,6 @@ Then, run unit tests with ``pytest`` commands:: # Run tests on common apps unset DJANGO_SETTINGS_MODULE unset SERVICE_VARIANT - export EDXAPP_TEST_MONGO_HOST=mongodb pytest common pytest openedx pytest xmodule diff --git a/tutor/templates/build/openedx/Dockerfile b/tutor/templates/build/openedx/Dockerfile index dd2c2daf3c..621b463422 100644 --- a/tutor/templates/build/openedx/Dockerfile +++ b/tutor/templates/build/openedx/Dockerfile @@ -275,6 +275,10 @@ RUN pip install -e "/mnt/{{ name }}" # Add ipdb as default PYTHONBREAKPOINT ENV PYTHONBREAKPOINT=ipdb.set_trace +# Point unit tests at the MongoDB container +ENV EDXAPP_TEST_MONGO_HOST={{ MONGODB_HOST }} +ENV EDXAPP_TEST_MONGO_PORT_NUM={{ MONGODB_PORT }} + # Recompile static assets: in development mode all static assets are stored in edx-platform, # and the location of these files is stored in webpack-stats.json. If we don't recompile # static assets, then production assets will be served instead.