mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-21 07:51:13 -05:00
Merge pull request #3488 from alphagov/fix-provider-adjustment-bug-181574489
Fix SMS priority adjustment if only 1 provider
This commit is contained in:
@@ -84,7 +84,8 @@ def dao_reduce_sms_provider_priority(identifier, *, time_threshold):
|
|||||||
amount_to_reduce_by = 10
|
amount_to_reduce_by = 10
|
||||||
providers_list = _get_sms_providers_for_update(time_threshold)
|
providers_list = _get_sms_providers_for_update(time_threshold)
|
||||||
|
|
||||||
if not providers_list:
|
if len(providers_list) < 2:
|
||||||
|
current_app.logger.info("Not adjusting providers, number of active providers is less than 2.")
|
||||||
return
|
return
|
||||||
|
|
||||||
providers = {provider.identifier: provider for provider in providers_list}
|
providers = {provider.identifier: provider for provider in providers_list}
|
||||||
|
|||||||
@@ -234,7 +234,7 @@ def test_reduce_sms_provider_priority_does_nothing_if_providers_have_recently_ch
|
|||||||
mocker,
|
mocker,
|
||||||
restore_provider_details,
|
restore_provider_details,
|
||||||
):
|
):
|
||||||
mock_get_providers = mocker.patch('app.dao.provider_details_dao._get_sms_providers_for_update', return_value=None)
|
mock_get_providers = mocker.patch('app.dao.provider_details_dao._get_sms_providers_for_update', return_value=[])
|
||||||
mock_adjust = mocker.patch('app.dao.provider_details_dao._adjust_provider_priority')
|
mock_adjust = mocker.patch('app.dao.provider_details_dao._adjust_provider_priority')
|
||||||
|
|
||||||
dao_reduce_sms_provider_priority('firetext', time_threshold=timedelta(minutes=5))
|
dao_reduce_sms_provider_priority('firetext', time_threshold=timedelta(minutes=5))
|
||||||
@@ -243,6 +243,20 @@ def test_reduce_sms_provider_priority_does_nothing_if_providers_have_recently_ch
|
|||||||
assert mock_adjust.called is False
|
assert mock_adjust.called is False
|
||||||
|
|
||||||
|
|
||||||
|
def test_reduce_sms_provider_priority_does_nothing_if_there_is_only_one_active_provider(
|
||||||
|
mocker,
|
||||||
|
restore_provider_details,
|
||||||
|
):
|
||||||
|
firetext = get_provider_details_by_identifier('firetext')
|
||||||
|
firetext.active = False
|
||||||
|
|
||||||
|
mock_adjust = mocker.patch('app.dao.provider_details_dao._adjust_provider_priority')
|
||||||
|
|
||||||
|
dao_reduce_sms_provider_priority('firetext', time_threshold=timedelta(minutes=5))
|
||||||
|
|
||||||
|
assert mock_adjust.called is False
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize('existing_mmg, existing_firetext, new_mmg, new_firetext', [
|
@pytest.mark.parametrize('existing_mmg, existing_firetext, new_mmg, new_firetext', [
|
||||||
(50, 50, 60, 40), # not just 50/50 - 60/40 specifically
|
(50, 50, 60, 40), # not just 50/50 - 60/40 specifically
|
||||||
(65, 35, 60, 40), # doesn't overshoot if there's less than 10 difference
|
(65, 35, 60, 40), # doesn't overshoot if there's less than 10 difference
|
||||||
|
|||||||
Reference in New Issue
Block a user