fix: tests

This commit is contained in:
Jade Olivier
2024-08-12 15:09:24 +02:00
parent e8f9db428d
commit 5e636dea16
4 changed files with 19 additions and 17 deletions

View File

@@ -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.

View File

@@ -0,0 +1,3 @@
[pytest]
DJANGO_SETTINGS_MODULE = lms.envs.test

View File

@@ -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

View File

@@ -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,