mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-03 18:01:08 -05:00
remove get_current_provider
the function no longer makes sense now that we send through both at the same time. mostly just used in old tests that we'll end up rewriting shortly anyway
This commit is contained in:
@@ -22,10 +22,6 @@ from app.celery.scheduled_tasks import (
|
||||
from app.config import QueueNames, TaskNames
|
||||
from app.dao.jobs_dao import dao_get_job_by_id
|
||||
from app.dao.notifications_dao import dao_get_scheduled_notifications
|
||||
from app.dao.provider_details_dao import (
|
||||
dao_update_provider_details,
|
||||
get_current_provider
|
||||
)
|
||||
from app.models import (
|
||||
JOB_STATUS_IN_PROGRESS,
|
||||
JOB_STATUS_ERROR,
|
||||
@@ -56,14 +52,6 @@ def _create_slow_delivery_notification(template, provider='mmg'):
|
||||
)
|
||||
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def prepare_current_provider(restore_provider_details):
|
||||
initial_provider = get_current_provider('sms')
|
||||
dao_update_provider_details(initial_provider)
|
||||
initial_provider.updated_at = datetime.utcnow() - timedelta(minutes=30)
|
||||
db.session.commit()
|
||||
|
||||
|
||||
def test_should_call_delete_codes_on_delete_verify_codes_task(notify_db_session, mocker):
|
||||
mocker.patch('app.celery.scheduled_tasks.delete_codes_older_created_more_than_a_day_ago')
|
||||
delete_verify_codes()
|
||||
@@ -115,28 +103,10 @@ def test_should_update_all_scheduled_jobs_and_put_on_queue(sample_template, mock
|
||||
def test_switch_providers_on_slow_delivery_switches_once_then_does_not_switch_if_already_switched(
|
||||
notify_api,
|
||||
mocker,
|
||||
prepare_current_provider,
|
||||
sample_user,
|
||||
sample_template
|
||||
):
|
||||
mocker.patch('app.provider_details.switch_providers.get_user_by_id', return_value=sample_user)
|
||||
starting_provider = get_current_provider('sms')
|
||||
|
||||
_create_slow_delivery_notification(sample_template)
|
||||
_create_slow_delivery_notification(sample_template)
|
||||
|
||||
switch_current_sms_provider_on_slow_delivery()
|
||||
|
||||
new_provider = get_current_provider('sms')
|
||||
_create_slow_delivery_notification(sample_template, new_provider.identifier)
|
||||
_create_slow_delivery_notification(sample_template, new_provider.identifier)
|
||||
switch_current_sms_provider_on_slow_delivery()
|
||||
|
||||
final_provider = get_current_provider('sms')
|
||||
|
||||
assert new_provider.identifier != starting_provider.identifier
|
||||
assert new_provider.priority < starting_provider.priority
|
||||
assert final_provider.identifier == new_provider.identifier
|
||||
raise NotImplementedError # TODO
|
||||
|
||||
|
||||
@freeze_time("2017-05-01 14:00:00")
|
||||
|
||||
@@ -2,13 +2,11 @@ import pytest
|
||||
|
||||
from datetime import datetime
|
||||
from freezegun import freeze_time
|
||||
from sqlalchemy import asc, desc
|
||||
|
||||
from app.models import ProviderDetails, ProviderDetailsHistory
|
||||
from app import clients
|
||||
from app.dao.provider_details_dao import (
|
||||
get_alternative_sms_provider,
|
||||
get_current_provider,
|
||||
get_provider_details_by_identifier,
|
||||
get_provider_details_by_notification_type,
|
||||
dao_update_provider_details,
|
||||
@@ -25,7 +23,7 @@ from tests.app.db import (
|
||||
|
||||
def set_primary_sms_provider(identifier):
|
||||
primary_provider = get_provider_details_by_identifier(identifier)
|
||||
secondary_provider = get_alternative_sms_provider(identifier)
|
||||
secondary_provider = get_provider_details_by_identifier(get_alternative_sms_provider(identifier))
|
||||
|
||||
primary_provider.priority = 10
|
||||
secondary_provider.priority = 20
|
||||
@@ -103,21 +101,12 @@ def test_update_adds_history(restore_provider_details):
|
||||
|
||||
|
||||
def test_update_sms_provider_to_inactive_sets_inactive(restore_provider_details):
|
||||
set_primary_sms_provider('mmg')
|
||||
primary_provider = get_current_provider('sms')
|
||||
primary_provider.active = False
|
||||
mmg = get_provider_details_by_identifier('mmg')
|
||||
|
||||
dao_update_provider_details(primary_provider)
|
||||
mmg.active = False
|
||||
dao_update_provider_details(mmg)
|
||||
|
||||
assert not primary_provider.active
|
||||
|
||||
|
||||
def test_get_current_sms_provider_returns_correct_provider(restore_provider_details):
|
||||
set_primary_sms_provider('mmg')
|
||||
|
||||
provider = get_current_provider('sms')
|
||||
|
||||
assert provider.identifier == 'mmg'
|
||||
assert not mmg.active
|
||||
|
||||
|
||||
@pytest.mark.parametrize('identifier, expected', [
|
||||
@@ -146,7 +135,7 @@ def test_get_alternative_sms_provider_fails_if_unrecognised():
|
||||
({'mmg': -100, 'firetext': 50}, {'mmg': 0, 'firetext': 60}),
|
||||
({'mmg': 50, 'firetext': -100}, {'mmg': 40, 'firetext': -90}),
|
||||
])
|
||||
def test_change_sms_provider_priority_switches_provider(
|
||||
def test_reduce_sms_provider_priority_switches_provider(
|
||||
restore_provider_details,
|
||||
starting_priorities,
|
||||
expected_priorities
|
||||
@@ -164,110 +153,53 @@ def test_change_sms_provider_priority_switches_provider(
|
||||
assert mmg.priority == expected_priorities['mmg']
|
||||
|
||||
|
||||
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
|
||||
|
||||
|
||||
def test_toggle_sms_provider_updates_provider_history(
|
||||
def test_reduce_sms_provider_priority_adds_rows_to_history_table(
|
||||
mocker,
|
||||
restore_provider_details,
|
||||
current_sms_provider,
|
||||
sample_user
|
||||
):
|
||||
mocker.patch('app.provider_details.switch_providers.get_user_by_id', return_value=sample_user)
|
||||
provider_history_rows = ProviderDetailsHistory.query.filter(
|
||||
ProviderDetailsHistory.id == current_sms_provider.id
|
||||
).order_by(
|
||||
desc(ProviderDetailsHistory.version)
|
||||
).all()
|
||||
raise NotImplementedError
|
||||
# mocker.patch('app.provider_details.switch_providers.get_user_by_id', return_value=sample_user)
|
||||
# provider_history_rows = ProviderDetailsHistory.query.filter(
|
||||
# ProviderDetailsHistory.id == current_sms_provider.id
|
||||
# ).order_by(
|
||||
# desc(ProviderDetailsHistory.version)
|
||||
# ).all()
|
||||
|
||||
dao_toggle_sms_provider(current_sms_provider.identifier)
|
||||
# dao_toggle_sms_provider(current_sms_provider.identifier)
|
||||
|
||||
updated_provider_history_rows = ProviderDetailsHistory.query.filter(
|
||||
ProviderDetailsHistory.id == current_sms_provider.id
|
||||
).order_by(
|
||||
desc(ProviderDetailsHistory.version)
|
||||
).all()
|
||||
# updated_provider_history_rows = ProviderDetailsHistory.query.filter(
|
||||
# ProviderDetailsHistory.id == current_sms_provider.id
|
||||
# ).order_by(
|
||||
# desc(ProviderDetailsHistory.version)
|
||||
# ).all()
|
||||
|
||||
assert len(updated_provider_history_rows) - len(provider_history_rows) == 1
|
||||
assert updated_provider_history_rows[0].version - provider_history_rows[0].version == 1
|
||||
# assert len(updated_provider_history_rows) - len(provider_history_rows) == 1
|
||||
# assert updated_provider_history_rows[0].version - provider_history_rows[0].version == 1
|
||||
|
||||
|
||||
def test_toggle_sms_provider_switches_provider_stores_notify_user_id(
|
||||
def test_reduce_sms_provider_priority_records_notify_user(
|
||||
restore_provider_details,
|
||||
sample_user,
|
||||
mocker
|
||||
):
|
||||
mocker.patch('app.provider_details.switch_providers.get_user_by_id', return_value=sample_user)
|
||||
raise NotImplementedError
|
||||
# mocker.patch('app.provider_details.switch_providers.get_user_by_id', return_value=sample_user)
|
||||
|
||||
current_provider = get_current_provider('sms')
|
||||
dao_toggle_sms_provider(current_provider.identifier)
|
||||
new_provider = get_current_provider('sms')
|
||||
# current_provider = get_current_provider('sms')
|
||||
# dao_toggle_sms_provider(current_provider.identifier)
|
||||
# new_provider = get_current_provider('sms')
|
||||
|
||||
assert current_provider.identifier != new_provider.identifier
|
||||
assert new_provider.created_by.id == sample_user.id
|
||||
assert new_provider.created_by_id == sample_user.id
|
||||
|
||||
|
||||
def test_toggle_sms_provider_switches_provider_stores_notify_user_id_in_history(
|
||||
restore_provider_details,
|
||||
sample_user,
|
||||
mocker
|
||||
):
|
||||
mocker.patch('app.provider_details.switch_providers.get_user_by_id', return_value=sample_user)
|
||||
|
||||
old_provider = get_current_provider('sms')
|
||||
dao_toggle_sms_provider(old_provider.identifier)
|
||||
new_provider = get_current_provider('sms')
|
||||
|
||||
old_provider_from_history = ProviderDetailsHistory.query.filter_by(
|
||||
identifier=old_provider.identifier,
|
||||
version=old_provider.version
|
||||
).order_by(
|
||||
asc(ProviderDetailsHistory.priority)
|
||||
).first()
|
||||
new_provider_from_history = ProviderDetailsHistory.query.filter_by(
|
||||
identifier=new_provider.identifier,
|
||||
version=new_provider.version
|
||||
).order_by(
|
||||
asc(ProviderDetailsHistory.priority)
|
||||
).first()
|
||||
|
||||
assert old_provider.version == old_provider_from_history.version
|
||||
assert new_provider.version == new_provider_from_history.version
|
||||
assert new_provider_from_history.created_by_id == sample_user.id
|
||||
assert old_provider_from_history.created_by_id == sample_user.id
|
||||
# assert current_provider.identifier != new_provider.identifier
|
||||
# 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):
|
||||
assert len(dao_get_provider_versions(current_sms_provider.id)) == 1
|
||||
|
||||
|
||||
def test_get_current_sms_provider_returns_active_only(restore_provider_details):
|
||||
current_provider = get_current_provider('sms')
|
||||
current_provider.active = False
|
||||
dao_update_provider_details(current_provider)
|
||||
new_current_provider = get_current_provider('sms')
|
||||
|
||||
assert current_provider.identifier != new_current_provider.identifier
|
||||
|
||||
|
||||
@freeze_time('2018-06-28 12:00')
|
||||
def test_dao_get_provider_stats(notify_db_session):
|
||||
service_1 = create_service(service_name='1')
|
||||
|
||||
Reference in New Issue
Block a user