Beispiel #1
0
def set_primary_sms_provider(identifier):
    primary_provider = get_provider_details_by_identifier(identifier)
    secondary_provider = get_alternative_sms_provider(identifier)

    primary_provider.priority = 10
    secondary_provider.priority = 20

    dao_update_provider_details(primary_provider)
    dao_update_provider_details(secondary_provider)
Beispiel #2
0
def test_switch_sms_provider_to_inactive_provider_does_not_switch(restore_provider_details, current_sms_provider):
    alternative_sms_provider = get_alternative_sms_provider(current_sms_provider.identifier)
    alternative_sms_provider.active = False
    dao_update_provider_details(alternative_sms_provider)

    dao_switch_sms_provider_to_provider_with_identifier(alternative_sms_provider.identifier)
    new_provider = get_current_provider("sms")

    assert new_provider.id == current_sms_provider.id
    assert new_provider.identifier == current_sms_provider.identifier
def test_get_alternative_sms_provider_returns_next_highest_priority_active_sms_provider(setup_provider_details):
    active_sms_providers = [
        provider for provider in setup_provider_details
        if provider.notification_type == 'sms' and provider.active
    ]

    for provider in active_sms_providers:
        alternative_provider = get_alternative_sms_provider(provider.identifier)

        assert alternative_provider.identifier != provider.identifier
        assert alternative_provider.active
Beispiel #4
0
def test_get_sms_provider_with_equal_priority_returns_provider(
        restore_provider_details, with_active_telstra_provider):
    current_provider = get_current_provider('sms')
    new_provider = get_alternative_sms_provider(current_provider.identifier)

    current_provider.priority = new_provider.priority
    dao_update_provider_details(current_provider)

    conflicting_provider = \
        dao_get_sms_provider_with_equal_priority(current_provider.identifier, current_provider.priority)

    assert conflicting_provider
Beispiel #5
0
def test_toggle_sms_provider_switches_when_provider_priorities_are_equal(mocker, restore_provider_details, sample_user):
    mocker.patch("app.provider_details.switch_providers.get_user_by_id", return_value=sample_user)
    current_provider = get_current_provider("sms")
    new_provider = get_alternative_sms_provider(current_provider.identifier)

    current_provider.priority = new_provider.priority
    dao_update_provider_details(current_provider)

    dao_toggle_sms_provider(current_provider.identifier)

    old_starting_provider = get_provider_details_by_identifier(current_provider.identifier)

    assert new_provider.identifier != old_starting_provider.identifier
    assert new_provider.priority < old_starting_provider.priority
Beispiel #6
0
def test_get_alternative_sms_provider_returns_expected_provider(
        notify_db, provider_identifier):
    provider = get_alternative_sms_provider(provider_identifier)
    assert provider.identifier != provider
def test_get_alternative_sms_provider_fails_if_unrecognised():
    with pytest.raises(ValueError):
        get_alternative_sms_provider('ses')
def test_get_alternative_sms_provider_returns_expected_provider(
        identifier, expected):
    assert get_alternative_sms_provider(identifier) == expected
def test_get_alternative_sms_provider_returns_expected_provider(
        monkeypatch, notify_db, identifier, expected):

    assert get_alternative_sms_provider(identifier).identifier == expected