From 5e636dea169cbb6aeafd6a3f4a9f9f976810f320 Mon Sep 17 00:00:00 2001 From: Jade Olivier Date: Mon, 12 Aug 2024 15:09:24 +0200 Subject: [PATCH] fix: tests --- lms/envs/test.py | 8 ++++++- scripts/user_retirement/pytest.ini | 3 +++ .../tests/test_retire_one_learner.py | 23 +++++++------------ scripts/user_retirement/utils/helpers.py | 2 +- 4 files changed, 19 insertions(+), 17 deletions(-) diff --git a/lms/envs/test.py b/lms/envs/test.py index 13799a3c40..9d94175980 100644 --- a/lms/envs/test.py +++ b/lms/envs/test.py @@ -662,7 +662,13 @@ SUBSCRIPTIONS_TRIAL_LENGTH = 7 CSRF_TRUSTED_ORIGINS = ['.example.com'] CSRF_TRUSTED_ORIGINS_WITH_SCHEME = ['https://*.example.com'] -EXTRA_SERVICES_TO_RETIRE_FROM = {} +EXTRA_SERVICES_TO_RETIRE_FROM = [ + { + 'name': 'MOCK_SERVICE', + 'service_base_url': 'http://fake_service_base_url', + 'retirement_url_path': 'fake_retirement_url_path' + } +] # values are already updated above with default CSRF_TRUSTED_ORIGINS values but in # case of new django version these values will override. diff --git a/scripts/user_retirement/pytest.ini b/scripts/user_retirement/pytest.ini index e69de29bb2..7a127196d0 100644 --- a/scripts/user_retirement/pytest.ini +++ b/scripts/user_retirement/pytest.ini @@ -0,0 +1,3 @@ +[pytest] + +DJANGO_SETTINGS_MODULE = lms.envs.test diff --git a/scripts/user_retirement/tests/test_retire_one_learner.py b/scripts/user_retirement/tests/test_retire_one_learner.py index e620d850ee..a30186cf6e 100644 --- a/scripts/user_retirement/tests/test_retire_one_learner.py +++ b/scripts/user_retirement/tests/test_retire_one_learner.py @@ -21,13 +21,6 @@ from scripts.user_retirement.tests.retirement_helpers import fake_config_file, g from scripts.user_retirement.utils.exception import HttpDoesNotExistException -@override_settings(EXTRA_SERVICES_TO_RETIRE_FROM=[ - { - 'name': 'MOCK_SERVICE', - 'service_base_url': 'http://fake_service_base_url', - 'retirement_url_path': 'fake_retirement_url_path' - } -]) def _call_script(username, fetch_ecom_segment_id=False): """ Call the retired learner script with the given username and a generic, temporary config file. @@ -70,8 +63,8 @@ def test_successful_retirement(*args, **kwargs): result = _call_script(username, fetch_ecom_segment_id=True) - # Called once per API we instantiate (LMS, ECommerce, Credentials) - assert mock_get_access_token.call_count == 3 + # Called once per API we instantiate (LMS, ECommerce, Credentials, Additional Services) + assert mock_get_access_token.call_count == 3 + len(settings.EXTRA_SERVICES_TO_RETIRE_FROM) mock_get_retirement_state.assert_called_once_with(username) assert mock_update_learner_state.call_count == 9 @@ -106,7 +99,7 @@ def test_user_does_not_exist(*args, **kwargs): result = _call_script(username) - assert mock_get_access_token.call_count == 3 + assert mock_get_access_token.call_count == 3 + len(settings.EXTRA_SERVICES_TO_RETIRE_FROM) mock_get_retirement_state.assert_called_once_with(username) mock_update_learner_state.assert_not_called() @@ -141,7 +134,7 @@ def test_bad_learner(*args, **kwargs): mock_get_retirement_state.side_effect = HttpDoesNotExistException result = _call_script(username) - assert mock_get_access_token.call_count == 3 + assert mock_get_access_token.call_count == 3 + len(settings.EXTRA_SERVICES_TO_RETIRE_FROM) mock_get_retirement_state.assert_called_once_with(username) mock_update_learner_state.assert_not_called() @@ -169,7 +162,7 @@ def test_user_in_working_state(*args, **kwargs): result = _call_script(username) - assert mock_get_access_token.call_count == 3 + assert mock_get_access_token.call_count == 3 + len(settings.EXTRA_SERVICES_TO_RETIRE_FROM) mock_get_retirement_state.assert_called_once_with(username) mock_update_learner_state.assert_not_called() @@ -197,7 +190,7 @@ def test_user_in_bad_state(*args, **kwargs): ) result = _call_script(username) - assert mock_get_access_token.call_count == 3 + assert mock_get_access_token.call_count == 3 + len(settings.EXTRA_SERVICES_TO_RETIRE_FROM) mock_get_retirement_state.assert_called_once_with(username) mock_update_learner_state.assert_not_called() @@ -232,7 +225,7 @@ def test_user_in_end_state(*args, **kwargs): result = _call_script(username) - assert mock_get_access_token.call_count == 3 + assert mock_get_access_token.call_count == 3 + len(settings.EXTRA_SERVICES_TO_RETIRE_FROM) mock_get_retirement_state.assert_called_once_with(username) mock_update_learner_state.assert_not_called() @@ -274,7 +267,7 @@ def test_skipping_states(*args, **kwargs): result = _call_script(username) # Called once per API we instantiate (LMS, ECommerce, Credentials) - assert mock_get_access_token.call_count == 3 + assert mock_get_access_token.call_count == 3 + len(settings.EXTRA_SERVICES_TO_RETIRE_FROM) mock_get_retirement_state.assert_called_once_with(username) assert mock_update_learner_state.call_count == 5 diff --git a/scripts/user_retirement/utils/helpers.py b/scripts/user_retirement/utils/helpers.py index 0c3af6006a..7704a25621 100644 --- a/scripts/user_retirement/utils/helpers.py +++ b/scripts/user_retirement/utils/helpers.py @@ -242,7 +242,7 @@ def _setup_all_apis_or_exit(fail_func, fail_code, config): segment_workspace_slug ) - for service_config in extra_services: + for service_config in settings.EXTRA_SERVICES_TO_RETIRE_FROM: service_name = service_config['name'] config[service_name] = GenericRetirementApi( lms_base_url,