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, created_at=datetime.utcnow() - timedelta(seconds=5400)) create_notification(template=sample_letter_template, status=NOTIFICATION_DELIVERED, created_at=datetime.utcnow() - timedelta(seconds=6000)) noti_1 = create_notification(template=sample_letter_template, status=NOTIFICATION_PENDING_VIRUS_CHECK, created_at=datetime.utcnow() - timedelta(seconds=5401)) noti_2 = create_notification(template=sample_letter_template, status=NOTIFICATION_PENDING_VIRUS_CHECK, created_at=datetime.utcnow() - timedelta(seconds=70000)) check_precompiled_letter_state() message = """2 precompiled letters have been pending-virus-check for over 90 minutes. Follow runbook to resolve: https://github.com/alphagov/notifications-manuals/wiki/Support-Runbook#Deal-with-letter-pending-virus-scan-for-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')
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, created_at=datetime.utcnow() - timedelta(seconds=5400)) create_notification(template=sample_letter_template, status=NOTIFICATION_DELIVERED, created_at=datetime.utcnow() - timedelta(seconds=6000)) noti_1 = create_notification(template=sample_letter_template, status=NOTIFICATION_PENDING_VIRUS_CHECK, created_at=datetime.utcnow() - timedelta(seconds=5401)) noti_2 = create_notification(template=sample_letter_template, status=NOTIFICATION_PENDING_VIRUS_CHECK, created_at=datetime.utcnow() - timedelta(seconds=70000)) check_precompiled_letter_state() 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')
def test_check_precompiled_letter_state(mocker, sample_letter_template): mock_logger = mocker.patch(LOGGER_EXCEPTION_MOCK_PATH) mock_create_ticket = mocker.patch(ZENDEKS_CLIENT_CRREATE_TICKET_MOCK_PATH) create_notification(template=sample_letter_template, status=NOTIFICATION_PENDING_VIRUS_CHECK, created_at=datetime.utcnow() - timedelta(seconds=5400)) create_notification(template=sample_letter_template, status=NOTIFICATION_DELIVERED, created_at=datetime.utcnow() - timedelta(seconds=6000)) noti_1 = create_notification(template=sample_letter_template, status=NOTIFICATION_PENDING_VIRUS_CHECK, created_at=datetime.utcnow() - timedelta(seconds=5401)) noti_2 = create_notification(template=sample_letter_template, status=NOTIFICATION_PENDING_VIRUS_CHECK, created_at=datetime.utcnow() - timedelta(seconds=70000)) check_precompiled_letter_state() 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')