mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-01 23:55:58 -05:00
clear up where we use restore_provider_details
it now only needs to be used when you're: * updating providers in ways that will create history (eg through regular api calls) * altering more than just priority in test setup (eg setting inactive, deleting, or adding a provider)
This commit is contained in:
@@ -32,32 +32,32 @@ def set_primary_sms_provider(identifier):
|
|||||||
dao_update_provider_details(secondary_provider)
|
dao_update_provider_details(secondary_provider)
|
||||||
|
|
||||||
|
|
||||||
def test_can_get_sms_non_international_providers(restore_provider_details):
|
def test_can_get_sms_non_international_providers(notify_db_session):
|
||||||
sms_providers = get_provider_details_by_notification_type('sms')
|
sms_providers = get_provider_details_by_notification_type('sms')
|
||||||
assert len(sms_providers) == 2
|
assert len(sms_providers) == 2
|
||||||
assert all('sms' == prov.notification_type for prov in sms_providers)
|
assert all('sms' == prov.notification_type for prov in sms_providers)
|
||||||
|
|
||||||
|
|
||||||
def test_can_get_sms_international_providers(restore_provider_details):
|
def test_can_get_sms_international_providers(notify_db_session):
|
||||||
sms_providers = get_provider_details_by_notification_type('sms', True)
|
sms_providers = get_provider_details_by_notification_type('sms', True)
|
||||||
assert len(sms_providers) == 1
|
assert len(sms_providers) == 1
|
||||||
assert all('sms' == prov.notification_type for prov in sms_providers)
|
assert all('sms' == prov.notification_type for prov in sms_providers)
|
||||||
assert all(prov.supports_international for prov in sms_providers)
|
assert all(prov.supports_international for prov in sms_providers)
|
||||||
|
|
||||||
|
|
||||||
def test_can_get_sms_providers_in_order_of_priority(restore_provider_details):
|
def test_can_get_sms_providers_in_order_of_priority(notify_db_session):
|
||||||
providers = get_provider_details_by_notification_type('sms', False)
|
providers = get_provider_details_by_notification_type('sms', False)
|
||||||
|
|
||||||
assert providers[0].priority < providers[1].priority
|
assert providers[0].priority < providers[1].priority
|
||||||
|
|
||||||
|
|
||||||
def test_can_get_email_providers_in_order_of_priority(restore_provider_details):
|
def test_can_get_email_providers_in_order_of_priority(notify_db_session):
|
||||||
providers = get_provider_details_by_notification_type('email')
|
providers = get_provider_details_by_notification_type('email')
|
||||||
|
|
||||||
assert providers[0].identifier == "ses"
|
assert providers[0].identifier == "ses"
|
||||||
|
|
||||||
|
|
||||||
def test_can_get_email_providers(restore_provider_details):
|
def test_can_get_email_providers(notify_db_session):
|
||||||
assert len(get_provider_details_by_notification_type('email')) == 1
|
assert len(get_provider_details_by_notification_type('email')) == 1
|
||||||
types = [provider.notification_type for provider in get_provider_details_by_notification_type('email')]
|
types = [provider.notification_type for provider in get_provider_details_by_notification_type('email')]
|
||||||
assert all('email' == notification_type for notification_type in types)
|
assert all('email' == notification_type for notification_type in types)
|
||||||
@@ -136,7 +136,7 @@ def test_get_alternative_sms_provider_fails_if_unrecognised():
|
|||||||
({'mmg': 50, 'firetext': -100}, {'mmg': 40, 'firetext': -90}),
|
({'mmg': 50, 'firetext': -100}, {'mmg': 40, 'firetext': -90}),
|
||||||
])
|
])
|
||||||
def test_reduce_sms_provider_priority_switches_provider(
|
def test_reduce_sms_provider_priority_switches_provider(
|
||||||
restore_provider_details,
|
notify_db_session,
|
||||||
starting_priorities,
|
starting_priorities,
|
||||||
expected_priorities
|
expected_priorities
|
||||||
):
|
):
|
||||||
@@ -156,21 +156,20 @@ def test_reduce_sms_provider_priority_switches_provider(
|
|||||||
def test_reduce_sms_provider_priority_adds_rows_to_history_table(
|
def test_reduce_sms_provider_priority_adds_rows_to_history_table(
|
||||||
mocker,
|
mocker,
|
||||||
restore_provider_details,
|
restore_provider_details,
|
||||||
current_sms_provider,
|
|
||||||
sample_user
|
sample_user
|
||||||
):
|
):
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
# mocker.patch('app.provider_details.switch_providers.get_user_by_id', return_value=sample_user)
|
# mocker.patch('app.provider_details.switch_providers.get_user_by_id', return_value=sample_user)
|
||||||
# provider_history_rows = ProviderDetailsHistory.query.filter(
|
# provider_history_rows = ProviderDetailsHistory.query.filter(
|
||||||
# ProviderDetailsHistory.id == current_sms_provider.id
|
# ProviderDetailsHistory.id == mmg.id
|
||||||
# ).order_by(
|
# ).order_by(
|
||||||
# desc(ProviderDetailsHistory.version)
|
# desc(ProviderDetailsHistory.version)
|
||||||
# ).all()
|
# ).all()
|
||||||
|
|
||||||
# dao_toggle_sms_provider(current_sms_provider.identifier)
|
# dao_toggle_sms_provider(mmg.identifier)
|
||||||
|
|
||||||
# updated_provider_history_rows = ProviderDetailsHistory.query.filter(
|
# updated_provider_history_rows = ProviderDetailsHistory.query.filter(
|
||||||
# ProviderDetailsHistory.id == current_sms_provider.id
|
# ProviderDetailsHistory.id == mmg.id
|
||||||
# ).order_by(
|
# ).order_by(
|
||||||
# desc(ProviderDetailsHistory.version)
|
# desc(ProviderDetailsHistory.version)
|
||||||
# ).all()
|
# ).all()
|
||||||
@@ -196,8 +195,8 @@ def test_reduce_sms_provider_priority_records_notify_user(
|
|||||||
# assert new_provider.created_by_id == sample_user.id
|
# assert new_provider.created_by_id == sample_user.id
|
||||||
|
|
||||||
|
|
||||||
def test_can_get_all_provider_history(restore_provider_details, current_sms_provider):
|
def test_can_get_all_provider_history(notify_db_session):
|
||||||
assert len(dao_get_provider_versions(current_sms_provider.id)) == 1
|
assert len(dao_get_provider_versions('mmg')) == 1
|
||||||
|
|
||||||
|
|
||||||
@freeze_time('2018-06-28 12:00')
|
@freeze_time('2018-06-28 12:00')
|
||||||
|
|||||||
@@ -565,7 +565,6 @@ def test_should_set_notification_billable_units_if_sending_to_provider_fails(
|
|||||||
|
|
||||||
|
|
||||||
def test_should_send_sms_to_international_providers(
|
def test_should_send_sms_to_international_providers(
|
||||||
restore_provider_details,
|
|
||||||
sample_template,
|
sample_template,
|
||||||
sample_user,
|
sample_user,
|
||||||
mocker
|
mocker
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import pytest
|
|||||||
from marshmallow import ValidationError
|
from marshmallow import ValidationError
|
||||||
from sqlalchemy import desc
|
from sqlalchemy import desc
|
||||||
|
|
||||||
from app.dao.provider_details_dao import dao_update_provider_details
|
from app.dao.provider_details_dao import dao_update_provider_details, get_provider_details_by_identifier
|
||||||
from app.models import ProviderDetailsHistory
|
from app.models import ProviderDetailsHistory
|
||||||
from tests.app.db import create_api_key
|
from tests.app.db import create_api_key
|
||||||
|
|
||||||
@@ -101,9 +101,10 @@ def test_user_update_schema_rejects_disallowed_attribute_keys(user_attribute):
|
|||||||
def test_provider_details_schema_returns_user_details(
|
def test_provider_details_schema_returns_user_details(
|
||||||
mocker,
|
mocker,
|
||||||
sample_user,
|
sample_user,
|
||||||
current_sms_provider
|
restore_provider_details
|
||||||
):
|
):
|
||||||
from app.schemas import provider_details_schema
|
from app.schemas import provider_details_schema
|
||||||
|
current_sms_provider = get_provider_details_by_identifier('mmg')
|
||||||
mocker.patch('app.provider_details.switch_providers.get_user_by_id', return_value=sample_user)
|
mocker.patch('app.provider_details.switch_providers.get_user_by_id', return_value=sample_user)
|
||||||
current_sms_provider.created_by = sample_user
|
current_sms_provider.created_by = sample_user
|
||||||
data = provider_details_schema.dump(current_sms_provider).data
|
data = provider_details_schema.dump(current_sms_provider).data
|
||||||
@@ -115,10 +116,10 @@ def test_provider_details_history_schema_returns_user_details(
|
|||||||
mocker,
|
mocker,
|
||||||
sample_user,
|
sample_user,
|
||||||
restore_provider_details,
|
restore_provider_details,
|
||||||
current_sms_provider
|
|
||||||
):
|
):
|
||||||
from app.schemas import provider_details_schema
|
from app.schemas import provider_details_schema
|
||||||
mocker.patch('app.provider_details.switch_providers.get_user_by_id', return_value=sample_user)
|
mocker.patch('app.provider_details.switch_providers.get_user_by_id', return_value=sample_user)
|
||||||
|
current_sms_provider = get_provider_details_by_identifier('mmg')
|
||||||
current_sms_provider.created_by_id = sample_user.id
|
current_sms_provider.created_by_id = sample_user.id
|
||||||
data = provider_details_schema.dump(current_sms_provider).data
|
data = provider_details_schema.dump(current_sms_provider).data
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user