From 58597653df7cd2381771c217eec95a9fc7681ece Mon Sep 17 00:00:00 2001 From: Katie Smith Date: Thu, 23 Sep 2021 16:35:12 +0100 Subject: [PATCH] Update how "sending to TV numbers" Zendesk tickets are created --- app/celery/scheduled_tasks.py | 10 +++++----- tests/app/celery/test_scheduled_tasks.py | 11 +++++++++-- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/app/celery/scheduled_tasks.py b/app/celery/scheduled_tasks.py index 088ef773f..073624218 100644 --- a/app/celery/scheduled_tasks.py +++ b/app/celery/scheduled_tasks.py @@ -301,13 +301,13 @@ def check_for_services_with_high_failure_rates_or_sending_to_tv_numbers(): if current_app.config['NOTIFY_ENVIRONMENT'] in ['live', 'production', 'test']: message += ("\nYou can find instructions for this ticket in our manual:\n" "https://github.com/alphagov/notifications-manuals/wiki/Support-Runbook#Deal-with-services-with-high-failure-rates-or-sending-sms-to-tv-numbers") # noqa - zendesk_client.create_ticket( - subject="[{}] High failure rates for sms spotted for services".format( - current_app.config['NOTIFY_ENVIRONMENT'] - ), + ticket = NotifySupportTicket( + subject=f"[{current_app.config['NOTIFY_ENVIRONMENT']}] High failure rates for sms spotted for services", message=message, - ticket_type=zendesk_client.TYPE_INCIDENT + ticket_type=NotifySupportTicket.TYPE_INCIDENT, + technical_ticket=True ) + zendesk_client.send_ticket_to_zendesk(ticket) @notify_celery.task(name='trigger-link-tests') diff --git a/tests/app/celery/test_scheduled_tasks.py b/tests/app/celery/test_scheduled_tasks.py index af71f9bd9..ab13e6e97 100644 --- a/tests/app/celery/test_scheduled_tasks.py +++ b/tests/app/celery/test_scheduled_tasks.py @@ -609,7 +609,11 @@ def test_check_for_services_with_high_failure_rates_or_sending_to_tv_numbers( mocker, notify_db_session, failure_rates, sms_to_tv_numbers, expected_message ): mock_logger = mocker.patch('app.celery.tasks.current_app.logger.warning') - mock_create_ticket = mocker.patch('app.celery.scheduled_tasks.zendesk_client.create_ticket') + mock_create_ticket = mocker.spy(NotifySupportTicket, '__init__') + mock_send_ticket_to_zendesk = mocker.patch( + 'app.celery.scheduled_tasks.zendesk_client.send_ticket_to_zendesk', + autospec=True, + ) mock_failure_rates = mocker.patch( 'app.celery.scheduled_tasks.dao_find_services_with_high_failure_rates', return_value=failure_rates ) @@ -625,10 +629,13 @@ def test_check_for_services_with_high_failure_rates_or_sending_to_tv_numbers( assert mock_sms_to_tv_numbers.called mock_logger.assert_called_once_with(expected_message) mock_create_ticket.assert_called_with( + ANY, message=expected_message + zendesk_actions, subject="[test] High failure rates for sms spotted for services", - ticket_type='incident' + ticket_type='incident', + technical_ticket=True ) + mock_send_ticket_to_zendesk.assert_called_once() def test_trigger_link_tests_calls_for_all_providers(