From d93b0d12d16e1c3bb88e64b2942cce1020628764 Mon Sep 17 00:00:00 2001 From: venusbb Date: Tue, 23 Jan 2018 09:51:43 +0000 Subject: [PATCH 1/2] Minor change to raising deskpro ticket and errors when letter acknowledgement fails. --- app/celery/scheduled_tasks.py | 12 +++++------- app/v2/errors.py | 17 ----------------- 2 files changed, 5 insertions(+), 24 deletions(-) diff --git a/app/celery/scheduled_tasks.py b/app/celery/scheduled_tasks.py index 3fd731994..6c27f8fb5 100644 --- a/app/celery/scheduled_tasks.py +++ b/app/celery/scheduled_tasks.py @@ -61,7 +61,7 @@ from app.celery.tasks import ( ) from app.config import QueueNames, TaskNames from app.utils import convert_utc_to_bst -from app.v2.errors import JobIncompleteError, NoAckFileReceived +from app.v2.errors import JobIncompleteError from app.dao.service_callback_api_dao import get_service_callback_api_for_service from app.celery.service_callback_tasks import send_delivery_status_to_service import pytz @@ -533,17 +533,15 @@ def letter_raise_alert_if_no_ack_file_for_zip(): # strip empty element before comparison ack_content_set.discard('') zip_file_set.discard('') - if current_app.config['NOTIFY_ENVIRONMENT'] in ['production', 'test']: - if len(zip_file_set - ack_content_set) > 0: + + if len(zip_file_set - ack_content_set) > 0: + if current_app.config['NOTIFY_ENVIRONMENT'] in ['production', 'test']: deskpro_client.create_ticket( subject="Letter acknowledge error", message=deskpro_message, ticket_type='alert' ) - - raise NoAckFileReceived(message=str(zip_file_set - ack_content_set)) - else: - current_app.logger.info(deskpro_message) + current_app.logger.error(deskpro_message) if len(ack_content_set - zip_file_set) > 0: current_app.logger.info( diff --git a/app/v2/errors.py b/app/v2/errors.py index 9ce9f942f..dd76a03bc 100644 --- a/app/v2/errors.py +++ b/app/v2/errors.py @@ -27,23 +27,6 @@ class JobIncompleteError(Exception): } -class NoAckFileReceived(Exception): - def __init__(self, message): - self.message = message - self.status_code = 500 - - def to_dict_v2(self): - return { - 'status_code': self.status_code, - "errors": [ - { - "error": 'NoAckFileReceived', - "message": str(self.message) - } - ] - } - - class TooManyRequestsError(InvalidRequest): status_code = 429 message_template = 'Exceeded send limits ({}) for today' From 8cb8de8664f8d4880bdb67ac0af3b7ac6340f8fd Mon Sep 17 00:00:00 2001 From: venusbb Date: Tue, 23 Jan 2018 10:13:56 +0000 Subject: [PATCH 2/2] changed tests --- tests/app/celery/test_scheduled_tasks.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tests/app/celery/test_scheduled_tasks.py b/tests/app/celery/test_scheduled_tasks.py index 4dc1860ef..e4cf756b9 100644 --- a/tests/app/celery/test_scheduled_tasks.py +++ b/tests/app/celery/test_scheduled_tasks.py @@ -62,7 +62,7 @@ from app.models import ( SMS_TYPE ) from app.utils import get_london_midnight_in_utc -from app.v2.errors import JobIncompleteError, NoAckFileReceived +from app.v2.errors import JobIncompleteError from tests.app.db import create_notification, create_service, create_template, create_job, create_rate from tests.app.conftest import ( @@ -1151,10 +1151,8 @@ def test_letter_raise_alert_if_ack_files_not_match_zip_list(mocker, notify_db): 'NOTIFY.20180111175008.ZIP|20180111175734') mock_deskpro = mocker.patch("app.celery.scheduled_tasks.deskpro_client.create_ticket") - with pytest.raises(expected_exception=NoAckFileReceived) as e: - letter_raise_alert_if_no_ack_file_for_zip() + letter_raise_alert_if_no_ack_file_for_zip() - assert e.value.message == str(set(['NOTIFY.20180111175009.ZIP', 'NOTIFY.20180111175010.ZIP'])) assert mock_file_list.call_count == 2 assert mock_get_file.call_count == 1