Revert "Purge notifications for configured days of retention"

This commit is contained in:
Rebecca Law
2018-08-03 14:35:36 +01:00
committed by GitHub
parent 691f24f94e
commit 019c6a4e3a
11 changed files with 148 additions and 337 deletions

View File

@@ -42,8 +42,7 @@ from tests.app.db import (
create_letter_contact,
create_inbound_number,
create_service_sms_sender,
create_service_with_defined_sms_sender,
create_service_data_retention
create_service_with_defined_sms_sender
)
from tests.app.db import create_user
@@ -1226,29 +1225,29 @@ def test_get_service_and_api_key_history(notify_api, notify_db, notify_db_sessio
assert json_resp['data']['api_key_history'][0]['id'] == str(api_key.id)
def test_get_all_notifications_for_service_in_order(client, notify_db_session):
service_1 = create_service(service_name="1", email_from='1')
service_2 = create_service(service_name="2", email_from='2')
template_1 = create_template(service=service_1)
template_2 = create_template(service=service_2)
create_notification(template=template_2)
def test_get_all_notifications_for_service_in_order(notify_api, notify_db, notify_db_session):
with notify_api.test_request_context(), notify_api.test_client() as client:
service_1 = create_service(service_name="1", email_from='1')
service_2 = create_service(service_name="2", email_from='2')
notification_1 = create_notification(template=template_1)
notification_2 = create_notification(template=template_1)
notification_3 = create_notification(template=template_1)
create_sample_notification(notify_db, notify_db_session, service=service_2)
auth_header = create_authorization_header()
notification_1 = create_sample_notification(notify_db, notify_db_session, service=service_1)
notification_2 = create_sample_notification(notify_db, notify_db_session, service=service_1)
notification_3 = create_sample_notification(notify_db, notify_db_session, service=service_1)
response = client.get(
path='/service/{}/notifications'.format(service_1.id),
headers=[auth_header])
auth_header = create_authorization_header()
resp = json.loads(response.get_data(as_text=True))
assert len(resp['notifications']) == 3
assert resp['notifications'][0]['id'] == str(notification_3.id)
assert resp['notifications'][1]['id'] == str(notification_2.id)
assert resp['notifications'][2]['id'] == str(notification_1.id)
assert response.status_code == 200
response = client.get(
path='/service/{}/notifications'.format(service_1.id),
headers=[auth_header])
resp = json.loads(response.get_data(as_text=True))
assert len(resp['notifications']) == 3
assert resp['notifications'][0]['to'] == notification_3.to
assert resp['notifications'][1]['to'] == notification_2.to
assert resp['notifications'][2]['to'] == notification_1.to
assert response.status_code == 200
def test_get_all_notifications_for_service_formatted_for_csv(client, sample_template):
@@ -1269,19 +1268,6 @@ def test_get_all_notifications_for_service_formatted_for_csv(client, sample_temp
assert resp['notifications'][0]['status'] == 'Sending'
def test_get_all_notifications_for_service_limits_days_for_number_of_days_of_retention(client, sample_template):
create_service_data_retention(service_id=sample_template.service_id, notification_type='sms', days_of_retention=9)
create_notification(template=sample_template)
create_notification(template=sample_template, created_at=datetime.utcnow() + timedelta(days=8))
response = client.get(
path='/service/{}/notifications?template_type=sms&limit_days=7'.format(sample_template.service_id),
headers=[create_authorization_header()])
assert response.status_code == 200
json_resp = json.loads(response.get_data(as_text=True))
assert len(json_resp['notifications']) == 2
def test_get_notification_for_service_without_uuid(client, notify_db, notify_db_session):
service_1 = create_service(service_name="1", email_from='1')
response = client.get(

View File

@@ -35,15 +35,6 @@ def test_get_service_data_retention_returns_empty_list(client, sample_service):
assert len(json.loads(response.get_data(as_text=True))) == 0
def test_get_data_retention_for_service_notification_type(client, sample_service):
data_retention = create_service_data_retention(service_id=sample_service.id)
response = client.get('/service/{}/data-retention/notification-type/{}'.format(sample_service.id, 'sms'),
headers=[('Content-Type', 'application/json'), create_authorization_header()],
)
assert response.status_code == 200
assert json.loads(response.get_data(as_text=True)) == data_retention.serialize()
def test_get_service_data_retention_by_id(client, sample_service):
sms_data_retention = create_service_data_retention(service_id=sample_service.id)
create_service_data_retention(service_id=sample_service.id, notification_type='email',

View File

@@ -129,11 +129,11 @@ def test_get_template_usage_by_month_returns_two_templates(admin_request, sample
assert resp_json[2]["is_precompiled_letter"] is False
@pytest.mark.parametrize('today_only, limit_days, stats', [
(False, 7, {'requested': 2, 'delivered': 1, 'failed': 0}),
(True, 7, {'requested': 1, 'delivered': 0, 'failed': 0})
@pytest.mark.parametrize('today_only, stats', [
(False, {'requested': 2, 'delivered': 1, 'failed': 0}),
(True, {'requested': 1, 'delivered': 0, 'failed': 0})
], ids=['seven_days', 'today'])
def test_get_service_notification_statistics(admin_request, sample_template, today_only, limit_days, stats):
def test_get_service_notification_statistics(admin_request, sample_template, today_only, stats):
with freeze_time('2000-01-01T12:00:00'):
create_notification(sample_template, status='delivered')
with freeze_time('2000-01-02T12:00:00'):
@@ -141,8 +141,7 @@ def test_get_service_notification_statistics(admin_request, sample_template, tod
resp = admin_request.get(
'service.get_service_notification_statistics',
service_id=sample_template.service_id,
today_only=today_only,
limit_days=limit_days
today_only=today_only
)
assert set(resp['data'].keys()) == {SMS_TYPE, EMAIL_TYPE, LETTER_TYPE}
@@ -152,8 +151,7 @@ def test_get_service_notification_statistics(admin_request, sample_template, tod
def test_get_service_notification_statistics_with_unknown_service(admin_request):
resp = admin_request.get(
'service.get_service_notification_statistics',
service_id=uuid.uuid4(),
limit_days=7
service_id=uuid.uuid4()
)
assert resp['data'] == {