mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-02 09:05:17 -05:00
ignore case in the cost_threshold in dvla response files
we failed when we received UNSORTED instead of Unsorted
This commit is contained in:
@@ -421,12 +421,11 @@ def update_letter_notifications_statuses(self, filename):
|
|||||||
for update in notification_updates:
|
for update in notification_updates:
|
||||||
check_billable_units(update)
|
check_billable_units(update)
|
||||||
update_letter_notification(filename, temporary_failures, update)
|
update_letter_notification(filename, temporary_failures, update)
|
||||||
sorted_letter_counts[update.cost_threshold] += 1
|
sorted_letter_counts[update.cost_threshold.lower()] += 1
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if sorted_letter_counts.keys() - {'Unsorted', 'Sorted'}:
|
unknown_status = sorted_letter_counts.keys() - {'unsorted', 'sorted'}
|
||||||
unknown_status = sorted_letter_counts.keys() - {'Unsorted', 'Sorted'}
|
if unknown_status:
|
||||||
|
|
||||||
message = 'DVLA response file: {} contains unknown Sorted status {}'.format(
|
message = 'DVLA response file: {} contains unknown Sorted status {}'.format(
|
||||||
filename, unknown_status
|
filename, unknown_status
|
||||||
)
|
)
|
||||||
@@ -455,8 +454,8 @@ def persist_daily_sorted_letter_counts(day, file_name, sorted_letter_counts):
|
|||||||
daily_letter_count = DailySortedLetter(
|
daily_letter_count = DailySortedLetter(
|
||||||
billing_day=day,
|
billing_day=day,
|
||||||
file_name=file_name,
|
file_name=file_name,
|
||||||
unsorted_count=sorted_letter_counts['Unsorted'],
|
unsorted_count=sorted_letter_counts['unsorted'],
|
||||||
sorted_count=sorted_letter_counts['Sorted']
|
sorted_count=sorted_letter_counts['sorted']
|
||||||
)
|
)
|
||||||
dao_create_or_update_daily_sorted_letter(daily_letter_count)
|
dao_create_or_update_daily_sorted_letter(daily_letter_count)
|
||||||
|
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ def test_update_letter_notifications_statuses_raises_error_for_unknown_sorted_st
|
|||||||
update_letter_notifications_statuses(filename='NOTIFY-20170823160812-RSP.TXT')
|
update_letter_notifications_statuses(filename='NOTIFY-20170823160812-RSP.TXT')
|
||||||
|
|
||||||
assert "DVLA response file: {filename} contains unknown Sorted status {unknown_status}".format(
|
assert "DVLA response file: {filename} contains unknown Sorted status {unknown_status}".format(
|
||||||
filename="NOTIFY-20170823160812-RSP.TXT", unknown_status="{'Error'}"
|
filename="NOTIFY-20170823160812-RSP.TXT", unknown_status="{'error'}"
|
||||||
) in str(e)
|
) in str(e)
|
||||||
|
|
||||||
|
|
||||||
@@ -185,7 +185,7 @@ def test_update_letter_notifications_statuses_persists_daily_sorted_letter_count
|
|||||||
):
|
):
|
||||||
sent_letter_1 = create_notification(sample_letter_template, reference='ref-foo', status=NOTIFICATION_SENDING)
|
sent_letter_1 = create_notification(sample_letter_template, reference='ref-foo', status=NOTIFICATION_SENDING)
|
||||||
sent_letter_2 = create_notification(sample_letter_template, reference='ref-bar', status=NOTIFICATION_SENDING)
|
sent_letter_2 = create_notification(sample_letter_template, reference='ref-bar', status=NOTIFICATION_SENDING)
|
||||||
valid_file = '{}|Sent|1|Unsorted\n{}|Sent|2|Sorted'.format(
|
valid_file = '{}|Sent|1|uNsOrTeD\n{}|Sent|2|SORTED'.format(
|
||||||
sent_letter_1.reference, sent_letter_2.reference)
|
sent_letter_1.reference, sent_letter_2.reference)
|
||||||
|
|
||||||
mocker.patch('app.celery.tasks.s3.get_s3_file', return_value=valid_file)
|
mocker.patch('app.celery.tasks.s3.get_s3_file', return_value=valid_file)
|
||||||
@@ -195,7 +195,7 @@ def test_update_letter_notifications_statuses_persists_daily_sorted_letter_count
|
|||||||
|
|
||||||
persist_letter_count_mock.assert_called_once_with(day=date(2017, 8, 23),
|
persist_letter_count_mock.assert_called_once_with(day=date(2017, 8, 23),
|
||||||
file_name='NOTIFY-20170823160812-RSP.TXT',
|
file_name='NOTIFY-20170823160812-RSP.TXT',
|
||||||
sorted_letter_counts={'Unsorted': 1, 'Sorted': 1})
|
sorted_letter_counts={'unsorted': 1, 'sorted': 1})
|
||||||
|
|
||||||
|
|
||||||
def test_update_letter_notifications_statuses_persists_daily_sorted_letter_count_with_no_sorted_values(
|
def test_update_letter_notifications_statuses_persists_daily_sorted_letter_count_with_no_sorted_values(
|
||||||
@@ -317,7 +317,7 @@ def test_get_billing_date_in_bst_from_filename(filename_date, billing_date):
|
|||||||
|
|
||||||
@freeze_time("2018-01-11 09:00:00")
|
@freeze_time("2018-01-11 09:00:00")
|
||||||
def test_persist_daily_sorted_letter_counts_saves_sorted_and_unsorted_values(client, notify_db_session):
|
def test_persist_daily_sorted_letter_counts_saves_sorted_and_unsorted_values(client, notify_db_session):
|
||||||
letter_counts = defaultdict(int, **{'Unsorted': 5, 'Sorted': 1})
|
letter_counts = defaultdict(int, **{'unsorted': 5, 'sorted': 1})
|
||||||
persist_daily_sorted_letter_counts(date.today(), "test.txt", letter_counts)
|
persist_daily_sorted_letter_counts(date.today(), "test.txt", letter_counts)
|
||||||
day = dao_get_daily_sorted_letter_by_billing_day(date.today())
|
day = dao_get_daily_sorted_letter_by_billing_day(date.today())
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user