Removed the templates/monthly endpoint

Removed the REST endpoint and the DAO that it uses as the endpoint is
no longer used by the Admin UI and the DAO is not reused anywhere
else.

- Removed REST endpoint
- Removed DAO which gets the stats
- Removed associated tests of both methods
This commit is contained in:
Richard Chapman
2017-11-27 11:05:47 +00:00
parent 1971d7d4b3
commit adfba208c4
4 changed files with 0 additions and 181 deletions

View File

@@ -25,7 +25,6 @@ from app.dao.services_dao import (
dao_fetch_stats_for_service,
dao_fetch_todays_stats_for_service,
dao_fetch_monthly_historical_stats_for_service,
dao_fetch_monthly_historical_stats_by_template_for_service,
fetch_todays_total_message_count,
dao_fetch_todays_stats_for_all_services,
fetch_stats_by_date_range_for_all_services,
@@ -77,7 +76,6 @@ from tests.app.conftest import (
def test_should_have_decorated_services_dao_functions():
assert dao_fetch_monthly_historical_stats_by_template_for_service.__wrapped__.__name__ == 'dao_fetch_monthly_historical_stats_by_template_for_service' # noqa
assert dao_fetch_monthly_historical_stats_for_service.__wrapped__.__name__ == 'dao_fetch_monthly_historical_stats_for_service' # noqa
assert dao_fetch_todays_stats_for_service.__wrapped__.__name__ == 'dao_fetch_todays_stats_for_service' # noqa
assert dao_fetch_stats_for_service.__wrapped__.__name__ == 'dao_fetch_stats_for_service' # noqa
@@ -850,93 +848,6 @@ def test_dao_resume_service_marks_service_as_active_and_api_keys_are_still_revok
assert api_key.expiry_date == datetime(2001, 1, 1, 23, 59, 00)
def test_fetch_monthly_historical_template_stats_for_service_includes_financial_year_only(
notify_db,
notify_db_session,
sample_template
):
notification_history = functools.partial(
create_notification_history,
notify_db,
notify_db_session,
sample_template
)
notification_history(created_at=datetime(2016, 4, 1), status='sending') # Start of financial year
notification_history(created_at=datetime(2016, 5, 30), status='created')
notification_history(created_at=datetime(2016, 6, 1), status='created')
notification_history(created_at=datetime(2017, 3, 31), status='created') # End of financial year
notification_history(created_at=datetime(2017, 4, 1), status='created')
notification_history(created_at=datetime(2017, 5, 1), status='created')
result = dao_fetch_monthly_historical_stats_by_template_for_service(sample_template.service_id, 2016)
notifications_count = 0
for dict in result.values():
notifications_count += sum(dict.get(str(sample_template.id), {}).get("counts", {}).values())
assert '2017-04' not in result
assert '2017-05' not in result
assert notifications_count == 4
def test_fetch_monthly_historical_template_stats_for_service_separates_months(
notify_db,
notify_db_session,
sample_template
):
notification_history = functools.partial(
create_notification_history,
notify_db,
notify_db_session,
sample_template
)
notification_history(created_at=datetime(2016, 4, 1), status='sending') # Start of financial year
notification_history(created_at=datetime(2016, 5, 30), status='created')
notification_history(created_at=datetime(2016, 6, 1), status='delivered')
notification_history(created_at=datetime(2016, 6, 1), status='created')
notification_history(created_at=datetime(2016, 12, 1), status='created')
notification_history(created_at=datetime(2017, 3, 30), status='sending')
notification_history(created_at=datetime(2017, 3, 31), status='sending')
result = dao_fetch_monthly_historical_stats_by_template_for_service(sample_template.service_id, 2016)
financial_year_month_keys = \
['2016-{:02}'.format(month) for month in range(4, 13)] + ['2017-{:02}'.format(month) for month in range(1, 4)]
assert set(financial_year_month_keys) == set(result.keys())
assert sum(result["2016-04"][str(sample_template.id)]["counts"].values()) == 1
assert sum(result["2016-05"][str(sample_template.id)]["counts"].values()) == 1
assert sum(result["2016-06"][str(sample_template.id)]["counts"].values()) == 2
assert sum(result["2016-12"][str(sample_template.id)]["counts"].values()) == 1
assert sum(result["2017-03"][str(sample_template.id)]["counts"].values()) == 2
def test_fetch_monthly_historical_template_stats_for_service_separates_templates(
notify_db,
notify_db_session
):
notification_history = functools.partial(
create_notification_history,
notify_db,
notify_db_session,
status='delivered'
)
template_one = create_sample_template(notify_db, notify_db_session)
template_two = create_sample_template(notify_db, notify_db_session)
notification_history(created_at=datetime(2016, 4, 1), sample_template=template_one)
notification_history(created_at=datetime(2016, 4, 1), sample_template=template_two)
result = dao_fetch_monthly_historical_stats_by_template_for_service(template_one.service_id, 2016)
assert len(result.get('2016-04').keys()) == 2
assert str(template_one.id) in result.get('2016-04').keys()
assert str(template_two.id) in result.get('2016-04').keys()
def test_dao_fetch_active_users_for_service_returns_active_only(notify_db, notify_db_session):
active_user = create_user(email='active@foo.com', state='active')
pending_user = create_user(email='pending@foo.com', state='pending')

View File

@@ -1810,33 +1810,6 @@ def test_get_service_provider_aggregate_statistics(
assert json.loads(response.get_data(as_text=True)) == expected_json
def test_get_template_stats_by_month_returns_correct_data(notify_db, notify_db_session, client, sample_template):
notification_history = partial(
create_notification_history,
notify_db,
notify_db_session,
sample_template
)
with freeze_time('2016-05-01T12:00:00'):
not1 = notification_history(status='sending')
notification_history(status='sending')
notification_history(status='permanent-failure')
notification_history(status='temporary-failure')
resp = client.get(
'/service/{}/notifications/templates/monthly?year=2016'.format(not1.service_id),
headers=[create_authorization_header()]
)
resp_json = json.loads(resp.get_data(as_text=True)).get('data')
assert resp.status_code == 200
assert resp_json["2016-05"][str(sample_template.id)]["name"] == "Template Name"
assert resp_json["2016-05"][str(sample_template.id)]["type"] == "sms"
assert resp_json["2016-05"][str(sample_template.id)]["counts"]["sending"] == 2
assert resp_json["2016-05"][str(sample_template.id)]["counts"]["temporary-failure"] == 1
assert resp_json["2016-05"][str(sample_template.id)]["counts"]["permanent-failure"] == 1
@freeze_time('2017-11-11 02:00')
def test_get_template_usage_by_month_returns_correct_data(
notify_db,
@@ -2048,24 +2021,6 @@ def test_get_template_usage_by_month_returns_two_templates(
assert resp_json[2]["count"] == 1
@pytest.mark.parametrize('query_string, expected_status, expected_json', [
('?year=abcd', 400, {'message': 'Year must be a number', 'result': 'error'}),
])
def test_get_template_stats_by_month_returns_error_for_incorrect_year(
client,
sample_service,
query_string,
expected_status,
expected_json
):
response = client.get(
'/service/{}/notifications/templates/monthly{}'.format(sample_service.id, query_string),
headers=[create_authorization_header()]
)
assert response.status_code == expected_status
assert json.loads(response.get_data(as_text=True)) == expected_json
def test_search_for_notification_by_to_field(client, notify_db, notify_db_session):
create_notification = partial(create_sample_notification, notify_db, notify_db_session)
notification1 = create_notification(to_field='+447700900855', normalised_to='447700900855')