mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-04 10:21:14 -05:00
Create a Zendesk ticket for letters in the wrong state
This creates a Zendesk ticket if either the `check_precompiled_letter_state` or `check_templated_letter_state` tasks fail.
This commit is contained in:
@@ -62,7 +62,7 @@ def prepare_current_provider(restore_provider_details):
|
||||
db.session.commit()
|
||||
|
||||
|
||||
def test_should_call_delete_codes_on_delete_verify_codes_task(notify_api, mocker):
|
||||
def test_should_call_delete_codes_on_delete_verify_codes_task(notify_db_session, mocker):
|
||||
mocker.patch('app.celery.scheduled_tasks.delete_codes_older_created_more_than_a_day_ago')
|
||||
delete_verify_codes()
|
||||
assert scheduled_tasks.delete_codes_older_created_more_than_a_day_ago.call_count == 1
|
||||
@@ -343,6 +343,7 @@ def test_check_job_status_task_does_not_raise_error(sample_template):
|
||||
@freeze_time("2019-05-30 14:00:00")
|
||||
def test_check_precompiled_letter_state(mocker, sample_letter_template):
|
||||
mock_logger = mocker.patch('app.celery.tasks.current_app.logger.exception')
|
||||
mock_create_ticket = mocker.patch('app.celery.nightly_tasks.zendesk_client.create_ticket')
|
||||
|
||||
create_notification(template=sample_letter_template,
|
||||
status=NOTIFICATION_PENDING_VIRUS_CHECK,
|
||||
@@ -359,16 +360,21 @@ def test_check_precompiled_letter_state(mocker, sample_letter_template):
|
||||
|
||||
check_precompiled_letter_state()
|
||||
|
||||
mock_logger.assert_called_once_with(
|
||||
"2 precompiled letters have been pending-virus-check for over 90 minutes. Notifications: ['{}', '{}']".format(
|
||||
noti_2.id,
|
||||
noti_1.id)
|
||||
message = "2 precompiled letters have been pending-virus-check for over 90 minutes. " \
|
||||
"Notifications: ['{}', '{}']".format(noti_2.id, noti_1.id)
|
||||
|
||||
mock_logger.assert_called_once_with(message)
|
||||
mock_create_ticket.assert_called_with(
|
||||
message=message,
|
||||
subject='[test] Letters still pending virus check',
|
||||
ticket_type='incident'
|
||||
)
|
||||
|
||||
|
||||
@freeze_time("2019-05-30 14:00:00")
|
||||
def test_check_templated_letter_state_during_bst(mocker, sample_letter_template):
|
||||
mock_logger = mocker.patch('app.celery.tasks.current_app.logger.exception')
|
||||
mock_create_ticket = mocker.patch('app.celery.nightly_tasks.zendesk_client.create_ticket')
|
||||
|
||||
noti_1 = create_notification(template=sample_letter_template, created_at=datetime(2019, 5, 1, 12, 0))
|
||||
noti_2 = create_notification(template=sample_letter_template, created_at=datetime(2019, 5, 29, 16, 29))
|
||||
@@ -379,15 +385,21 @@ def test_check_templated_letter_state_during_bst(mocker, sample_letter_template)
|
||||
|
||||
check_templated_letter_state()
|
||||
|
||||
mock_logger.assert_called_once_with(
|
||||
"2 letters were created before 17.30 yesterday and still have 'created' state. "
|
||||
"Notifications: ['{}', '{}']".format(noti_1.id, noti_2.id)
|
||||
message = "2 letters were created before 17.30 yesterday and still have 'created' status. " \
|
||||
"Notifications: ['{}', '{}']".format(noti_1.id, noti_2.id)
|
||||
|
||||
mock_logger.assert_called_once_with(message)
|
||||
mock_create_ticket.assert_called_with(
|
||||
message=message,
|
||||
subject="[test] Letters still in 'created' status",
|
||||
ticket_type='incident'
|
||||
)
|
||||
|
||||
|
||||
@freeze_time("2019-01-30 14:00:00")
|
||||
def test_check_templated_letter_state_during_utc(mocker, sample_letter_template):
|
||||
mock_logger = mocker.patch('app.celery.tasks.current_app.logger.exception')
|
||||
mock_create_ticket = mocker.patch('app.celery.nightly_tasks.zendesk_client.create_ticket')
|
||||
|
||||
noti_1 = create_notification(template=sample_letter_template, created_at=datetime(2018, 12, 1, 12, 0))
|
||||
noti_2 = create_notification(template=sample_letter_template, created_at=datetime(2019, 1, 29, 17, 29))
|
||||
@@ -398,7 +410,12 @@ def test_check_templated_letter_state_during_utc(mocker, sample_letter_template)
|
||||
|
||||
check_templated_letter_state()
|
||||
|
||||
mock_logger.assert_called_once_with(
|
||||
"2 letters were created before 17.30 yesterday and still have 'created' state. "
|
||||
"Notifications: ['{}', '{}']".format(noti_1.id, noti_2.id)
|
||||
message = "2 letters were created before 17.30 yesterday and still have 'created' status. " \
|
||||
"Notifications: ['{}', '{}']".format(noti_1.id, noti_2.id)
|
||||
|
||||
mock_logger.assert_called_once_with(message)
|
||||
mock_create_ticket.assert_called_with(
|
||||
message=message,
|
||||
subject="[test] Letters still in 'created' status",
|
||||
ticket_type='incident'
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user