Reduce the error logging for sanitse method, since we ignore cysp.

Also fixed the spelling error, why not.
This commit is contained in:
Rebecca Law
2018-10-18 16:43:14 +01:00
parent 4dbedd02a3
commit 38c29d41a4
2 changed files with 16 additions and 15 deletions

View File

@@ -185,7 +185,7 @@ def process_virus_scan_passed(self, filename):
scan_pdf_object = s3.get_s3_object(current_app.config['LETTERS_SCAN_BUCKET_NAME'], filename) scan_pdf_object = s3.get_s3_object(current_app.config['LETTERS_SCAN_BUCKET_NAME'], filename)
old_pdf = scan_pdf_object.get()['Body'].read() old_pdf = scan_pdf_object.get()['Body'].read()
new_pdf = _sanitise_precomiled_pdf(self, notification, old_pdf) new_pdf = _sanitise_precompiled_pdf(self, notification, old_pdf)
# TODO: Remove this once CYSP update their template to not cross over the margins # TODO: Remove this once CYSP update their template to not cross over the margins
if notification.service_id == UUID('fe44178f-3b45-4625-9f85-2264a36dd9ec'): # CYSP if notification.service_id == UUID('fe44178f-3b45-4625-9f85-2264a36dd9ec'): # CYSP
@@ -233,7 +233,7 @@ def _upload_pdf_to_test_or_live_pdf_bucket(pdf_data, filename, is_test_letter):
) )
def _sanitise_precomiled_pdf(self, notification, precompiled_pdf): def _sanitise_precompiled_pdf(self, notification, precompiled_pdf):
try: try:
resp = requests_post( resp = requests_post(
'{}/precompiled/sanitise'.format( '{}/precompiled/sanitise'.format(
@@ -246,19 +246,20 @@ def _sanitise_precomiled_pdf(self, notification, precompiled_pdf):
return resp.content return resp.content
except RequestException as ex: except RequestException as ex:
if ex.response is not None and ex.response.status_code == 400: if ex.response is not None and ex.response.status_code == 400:
current_app.logger.exception( if notification.service_id != UUID('fe44178f-3b45-4625-9f85-2264a36dd9ec'):
"sanitise_precomiled_pdf validation error for notification: {}".format(notification.id) current_app.logger.exception(
) "sanitise_precompiled_pdf validation error for notification: {}".format(notification.id)
return None )
return None
try: try:
current_app.logger.exception( current_app.logger.exception(
"sanitise_precomiled_pdf failed for notification: {}".format(notification.id) "sanitise_precompiled_pdf failed for notification: {}".format(notification.id)
) )
self.retry(queue=QueueNames.RETRY) self.retry(queue=QueueNames.RETRY)
except MaxRetriesExceededError: except MaxRetriesExceededError:
current_app.logger.exception( current_app.logger.exception(
"RETRY FAILED: sanitise_precomiled_pdf failed for notification {}".format(notification.id), "RETRY FAILED: sanitise_precompiled_pdf failed for notification {}".format(notification.id),
) )
notification.status = NOTIFICATION_TECHNICAL_FAILURE notification.status = NOTIFICATION_TECHNICAL_FAILURE

View File

@@ -22,7 +22,7 @@ from app.celery.letters_pdf_tasks import (
process_virus_scan_failed, process_virus_scan_failed,
process_virus_scan_error, process_virus_scan_error,
replay_letters_in_error, replay_letters_in_error,
_sanitise_precomiled_pdf _sanitise_precompiled_pdf
) )
from app.letters.utils import get_letter_pdf_filename, ScanErrorType from app.letters.utils import get_letter_pdf_filename, ScanErrorType
from app.models import ( from app.models import (
@@ -357,7 +357,7 @@ def test_process_letter_task_check_virus_scan_passed(
sample_letter_notification.status = NOTIFICATION_PENDING_VIRUS_CHECK sample_letter_notification.status = NOTIFICATION_PENDING_VIRUS_CHECK
sample_letter_notification.key_type = key_type sample_letter_notification.key_type = key_type
mock_s3upload = mocker.patch('app.celery.letters_pdf_tasks.s3upload') mock_s3upload = mocker.patch('app.celery.letters_pdf_tasks.s3upload')
mock_sanitise = mocker.patch('app.celery.letters_pdf_tasks._sanitise_precomiled_pdf', return_value="success") mock_sanitise = mocker.patch('app.celery.letters_pdf_tasks._sanitise_precompiled_pdf', return_value="success")
process_virus_scan_passed(filename) process_virus_scan_passed(filename)
@@ -397,7 +397,7 @@ def test_process_letter_task_check_virus_scan_passed_when_sanitise_fails(
sample_letter_notification.status = NOTIFICATION_PENDING_VIRUS_CHECK sample_letter_notification.status = NOTIFICATION_PENDING_VIRUS_CHECK
sample_letter_notification.key_type = key_type sample_letter_notification.key_type = key_type
mock_move_s3 = mocker.patch('app.letters.utils._move_s3_object') mock_move_s3 = mocker.patch('app.letters.utils._move_s3_object')
mock_sanitise = mocker.patch('app.celery.letters_pdf_tasks._sanitise_precomiled_pdf', return_value=None) mock_sanitise = mocker.patch('app.celery.letters_pdf_tasks._sanitise_precompiled_pdf', return_value=None)
process_virus_scan_passed(filename) process_virus_scan_passed(filename)
@@ -464,7 +464,7 @@ def test_sanitise_precompiled_pdf_returns_data_from_template_preview(rmock, samp
rmock.post('http://localhost:9999/precompiled/sanitise', content=b'new_pdf', status_code=200) rmock.post('http://localhost:9999/precompiled/sanitise', content=b'new_pdf', status_code=200)
mock_celery = Mock(**{'retry.side_effect': Retry}) mock_celery = Mock(**{'retry.side_effect': Retry})
res = _sanitise_precomiled_pdf(mock_celery, sample_letter_notification, b'old_pdf') res = _sanitise_precompiled_pdf(mock_celery, sample_letter_notification, b'old_pdf')
assert res == b'new_pdf' assert res == b'new_pdf'
assert rmock.last_request.text == 'old_pdf' assert rmock.last_request.text == 'old_pdf'
@@ -475,7 +475,7 @@ def test_sanitise_precompiled_pdf_returns_none_on_validation_error(rmock, sample
rmock.post('http://localhost:9999/precompiled/sanitise', content=b'new_pdf', status_code=400) rmock.post('http://localhost:9999/precompiled/sanitise', content=b'new_pdf', status_code=400)
mock_celery = Mock(**{'retry.side_effect': Retry}) mock_celery = Mock(**{'retry.side_effect': Retry})
res = _sanitise_precomiled_pdf(mock_celery, sample_letter_notification, b'old_pdf') res = _sanitise_precompiled_pdf(mock_celery, sample_letter_notification, b'old_pdf')
assert res is None assert res is None
@@ -486,7 +486,7 @@ def test_sanitise_precompiled_pdf_retries_on_http_error(rmock, sample_letter_not
mock_celery = Mock(**{'retry.side_effect': Retry}) mock_celery = Mock(**{'retry.side_effect': Retry})
with pytest.raises(Retry): with pytest.raises(Retry):
_sanitise_precomiled_pdf(mock_celery, sample_letter_notification, b'old_pdf') _sanitise_precompiled_pdf(mock_celery, sample_letter_notification, b'old_pdf')
def test_sanitise_precompiled_pdf_sets_notification_to_technical_failure_after_too_many_errors( def test_sanitise_precompiled_pdf_sets_notification_to_technical_failure_after_too_many_errors(
@@ -498,6 +498,6 @@ def test_sanitise_precompiled_pdf_sets_notification_to_technical_failure_after_t
mock_celery = Mock(**{'retry.side_effect': MaxRetriesExceededError}) mock_celery = Mock(**{'retry.side_effect': MaxRetriesExceededError})
with pytest.raises(MaxRetriesExceededError): with pytest.raises(MaxRetriesExceededError):
_sanitise_precomiled_pdf(mock_celery, sample_letter_notification, b'old_pdf') _sanitise_precompiled_pdf(mock_celery, sample_letter_notification, b'old_pdf')
assert sample_letter_notification.status == NOTIFICATION_TECHNICAL_FAILURE assert sample_letter_notification.status == NOTIFICATION_TECHNICAL_FAILURE