mirror of
https://github.com/GSA/notifications-api.git
synced 2026-07-26 19:18:32 -04:00
Use sanitised pdfs for sending and handle invalid pdfs, details below:
- pass new, sanitised pdf for sending - move invalid pdfs to a newly created bucket - set status fro notifications that failed pdf validation to a new status validation-failed - adjust existing tests
This commit is contained in:
committed by
Leo Hemsted
parent
cd563283d5
commit
e22e7245fe
@@ -354,16 +354,16 @@ def test_process_letter_task_check_virus_scan_passed(
|
||||
sample_letter_notification.status = 'pending-virus-check'
|
||||
sample_letter_notification.key_type = key_type
|
||||
mock_s3upload = mocker.patch('app.celery.letters_pdf_tasks.s3upload')
|
||||
mock_sanitise = mocker.patch('app.celery.letters_pdf_tasks._sanitise_precomiled_pdf')
|
||||
mock_sanitise = mocker.patch('app.celery.letters_pdf_tasks._sanitise_precomiled_pdf', return_value="success")
|
||||
|
||||
process_virus_scan_passed(filename)
|
||||
|
||||
assert sample_letter_notification.status == noti_status
|
||||
mock_s3upload.assert_called_once_with(
|
||||
filedata=b'pdf_content',
|
||||
region='eu-west-1',
|
||||
bucket_name=target_bucket_name,
|
||||
file_location=destination_folder + filename
|
||||
filedata="success",
|
||||
file_location=destination_folder + filename,
|
||||
region='eu-west-1',
|
||||
)
|
||||
mock_sanitise.assert_called_once_with(
|
||||
ANY,
|
||||
|
||||
@@ -437,7 +437,7 @@ def test_get_all_notifications_filter_by_status_invalid_status(client, sample_no
|
||||
assert len(json_response['errors']) == 1
|
||||
assert json_response['errors'][0]['message'] == "status elephant is not one of [cancelled, created, sending, " \
|
||||
"sent, delivered, pending, failed, technical-failure, temporary-failure, permanent-failure, " \
|
||||
"pending-virus-check, virus-scan-failed, returned-letter, accepted, received]"
|
||||
"pending-virus-check, validation-failed, virus-scan-failed, returned-letter, accepted, received]"
|
||||
|
||||
|
||||
def test_get_all_notifications_filter_by_multiple_statuses(client, sample_template):
|
||||
|
||||
@@ -44,7 +44,7 @@ def test_get_notifications_request_invalid_statuses(
|
||||
partial_error_status = "is not one of " \
|
||||
"[cancelled, created, sending, sent, delivered, pending, failed, " \
|
||||
"technical-failure, temporary-failure, permanent-failure, pending-virus-check, " \
|
||||
"virus-scan-failed, returned-letter, accepted, received]"
|
||||
"validation-failed, virus-scan-failed, returned-letter, accepted, received]"
|
||||
|
||||
with pytest.raises(ValidationError) as e:
|
||||
validate({'status': invalid_statuses + valid_statuses}, get_notifications_request)
|
||||
@@ -92,7 +92,7 @@ def test_get_notifications_request_invalid_statuses_and_template_types():
|
||||
for invalid_status in ["elephant", "giraffe"]:
|
||||
assert "status {} is not one of [cancelled, created, sending, sent, delivered, " \
|
||||
"pending, failed, technical-failure, temporary-failure, permanent-failure, " \
|
||||
"pending-virus-check, virus-scan-failed, returned-letter, accepted, received]".format(
|
||||
"pending-virus-check, validation-failed, virus-scan-failed, returned-letter, accepted, received]".format(
|
||||
invalid_status
|
||||
) in error_messages
|
||||
|
||||
|
||||
Reference in New Issue
Block a user