diff --git a/tests/app/celery/test_tasks.py b/tests/app/celery/test_tasks.py index b9e08ce30..c615ee586 100644 --- a/tests/app/celery/test_tasks.py +++ b/tests/app/celery/test_tasks.py @@ -29,17 +29,14 @@ from app.celery.tasks import ( ) from app.config import QueueNames from app.dao import jobs_dao, service_email_reply_to_dao, service_sms_sender_dao -from app.models import ( - JOB_STATUS_ERROR, - JOB_STATUS_FINISHED, - JOB_STATUS_IN_PROGRESS, - KEY_TYPE_NORMAL, - NOTIFICATION_CREATED, - Job, - Notification, +from app.enums import ( + JobStatus, + KeyType, + NotificationStatus, NotificationType, TemplateType, ) +from app.models import Job, Notification from app.serialised_models import SerialisedService, SerialisedTemplate from app.utils import DATETIME_FORMAT from tests.app import load_example_csv @@ -575,7 +572,7 @@ def test_should_save_sms_template_to_and_persist_with_job_id(sample_job, mocker) assert not persisted_notification.sent_by assert persisted_notification.job_row_number == 2 assert persisted_notification.api_key_id is None - assert persisted_notification.key_type == KEY_TYPE_NORMAL + assert persisted_notification.key_type == KeyType.NORMAL assert persisted_notification.notification_type == "sms" provider_tasks.deliver_sms.apply_async.assert_called_once_with( @@ -646,7 +643,7 @@ def test_should_use_email_template_and_persist( assert persisted_notification.job_row_number == 1 assert persisted_notification.personalisation == {"name": "Jo"} assert persisted_notification.api_key_id is None - assert persisted_notification.key_type == KEY_TYPE_NORMAL + assert persisted_notification.key_type == KeyType.NORMAL assert persisted_notification.notification_type == "email" provider_tasks.deliver_email.apply_async.assert_called_once_with( @@ -1145,7 +1142,7 @@ def test_process_incomplete_job_sms(mocker, sample_template): created_at=datetime.utcnow() - timedelta(hours=2), scheduled_for=datetime.utcnow() - timedelta(minutes=31), processing_started=datetime.utcnow() - timedelta(minutes=31), - job_status=JOB_STATUS_ERROR, + job_status=JobStatus.ERROR, ) create_notification(sample_template, job, 0) @@ -1157,7 +1154,7 @@ def test_process_incomplete_job_sms(mocker, sample_template): completed_job = Job.query.filter(Job.id == job.id).one() - assert completed_job.job_status == JOB_STATUS_FINISHED + assert completed_job.job_status == JobStatus.FINISHED assert ( save_sms.call_count == 8 @@ -1177,7 +1174,7 @@ def test_process_incomplete_job_with_notifications_all_sent(mocker, sample_templ created_at=datetime.utcnow() - timedelta(hours=2), scheduled_for=datetime.utcnow() - timedelta(minutes=31), processing_started=datetime.utcnow() - timedelta(minutes=31), - job_status=JOB_STATUS_ERROR, + job_status=JobStatus.ERROR, ) create_notification(sample_template, job, 0) @@ -1197,7 +1194,7 @@ def test_process_incomplete_job_with_notifications_all_sent(mocker, sample_templ completed_job = Job.query.filter(Job.id == job.id).one() - assert completed_job.job_status == JOB_STATUS_FINISHED + assert completed_job.job_status == JobStatus.FINISHED assert ( mock_save_sms.call_count == 0 @@ -1217,7 +1214,7 @@ def test_process_incomplete_jobs_sms(mocker, sample_template): created_at=datetime.utcnow() - timedelta(hours=2), scheduled_for=datetime.utcnow() - timedelta(minutes=31), processing_started=datetime.utcnow() - timedelta(minutes=31), - job_status=JOB_STATUS_ERROR, + job_status=JobStatus.ERROR, ) create_notification(sample_template, job, 0) create_notification(sample_template, job, 1) @@ -1231,7 +1228,7 @@ def test_process_incomplete_jobs_sms(mocker, sample_template): created_at=datetime.utcnow() - timedelta(hours=2), scheduled_for=datetime.utcnow() - timedelta(minutes=31), processing_started=datetime.utcnow() - timedelta(minutes=31), - job_status=JOB_STATUS_ERROR, + job_status=JobStatus.ERROR, ) create_notification(sample_template, job2, 0) @@ -1248,9 +1245,9 @@ def test_process_incomplete_jobs_sms(mocker, sample_template): completed_job = Job.query.filter(Job.id == job.id).one() completed_job2 = Job.query.filter(Job.id == job2.id).one() - assert completed_job.job_status == JOB_STATUS_FINISHED + assert completed_job.job_status == JobStatus.FINISHED - assert completed_job2.job_status == JOB_STATUS_FINISHED + assert completed_job2.job_status == JobStatus.FINISHED assert ( mock_save_sms.call_count == 12 @@ -1270,7 +1267,7 @@ def test_process_incomplete_jobs_no_notifications_added(mocker, sample_template) created_at=datetime.utcnow() - timedelta(hours=2), scheduled_for=datetime.utcnow() - timedelta(minutes=31), processing_started=datetime.utcnow() - timedelta(minutes=31), - job_status=JOB_STATUS_ERROR, + job_status=JobStatus.ERROR, ) assert Notification.query.filter(Notification.job_id == job.id).count() == 0 @@ -1279,7 +1276,7 @@ def test_process_incomplete_jobs_no_notifications_added(mocker, sample_template) completed_job = Job.query.filter(Job.id == job.id).one() - assert completed_job.job_status == JOB_STATUS_FINISHED + assert completed_job.job_status == JobStatus.FINISHED assert mock_save_sms.call_count == 10 # There are 10 in the csv file @@ -1327,7 +1324,7 @@ def test_process_incomplete_job_email(mocker, sample_email_template): created_at=datetime.utcnow() - timedelta(hours=2), scheduled_for=datetime.utcnow() - timedelta(minutes=31), processing_started=datetime.utcnow() - timedelta(minutes=31), - job_status=JOB_STATUS_ERROR, + job_status=JobStatus.ERROR, ) create_notification(sample_email_template, job, 0) @@ -1339,7 +1336,7 @@ def test_process_incomplete_job_email(mocker, sample_email_template): completed_job = Job.query.filter(Job.id == job.id).one() - assert completed_job.job_status == JOB_STATUS_FINISHED + assert completed_job.job_status == JobStatus.FINISHED assert ( mock_email_saver.call_count == 8 @@ -1357,20 +1354,20 @@ def test_process_incomplete_jobs_sets_status_to_in_progress_and_resets_processin job1 = create_job( sample_template, processing_started=datetime.utcnow() - timedelta(minutes=30), - job_status=JOB_STATUS_ERROR, + job_status=JobStatus.ERROR, ) job2 = create_job( sample_template, processing_started=datetime.utcnow() - timedelta(minutes=31), - job_status=JOB_STATUS_ERROR, + job_status=JobStatus.ERROR, ) process_incomplete_jobs([str(job1.id), str(job2.id)]) - assert job1.job_status == JOB_STATUS_IN_PROGRESS + assert job1.job_status == JobStatus.IN_PROGRESS assert job1.processing_started == datetime.utcnow() - assert job2.job_status == JOB_STATUS_IN_PROGRESS + assert job2.job_status == JobStatus.IN_PROGRESS assert job2.processing_started == datetime.utcnow() assert mock_process_incomplete_job.mock_calls == [ @@ -1403,7 +1400,7 @@ def test_save_api_email_or_sms(mocker, sample_service, notification_type): "client_reference": "our email", "reply_to_text": None, "document_download_count": 0, - "status": NOTIFICATION_CREATED, + "status": NotificationStatus.CREATED, "created_at": datetime.utcnow().strftime(DATETIME_FORMAT), } @@ -1455,7 +1452,7 @@ def test_save_api_email_dont_retry_if_notification_already_exists( "client_reference": "our email", "reply_to_text": "our.email@gov.uk", "document_download_count": 0, - "status": NOTIFICATION_CREATED, + "status": NotificationStatus.CREATED, "created_at": datetime.utcnow().strftime(DATETIME_FORMAT), } @@ -1590,7 +1587,7 @@ def test_save_api_tasks_use_cache( "client_reference": "our email", "reply_to_text": "our.email@gov.uk", "document_download_count": 0, - "status": NOTIFICATION_CREATED, + "status": NotificationStatus.CREATED, "created_at": datetime.utcnow().strftime(DATETIME_FORMAT), } ) diff --git a/tests/app/job/test_rest.py b/tests/app/job/test_rest.py index 3babf13e8..3afe283c2 100644 --- a/tests/app/job/test_rest.py +++ b/tests/app/job/test_rest.py @@ -782,11 +782,11 @@ def test_get_jobs_accepts_page_parameter(admin_request, sample_template): @pytest.mark.parametrize( "statuses_filter, expected_statuses", [ - ("", JobStatus.TYPES), + ("", JobStatus), ("pending", [JobStatus.PENDING]), ( "pending, in progress, finished, sending limits exceeded, scheduled, cancelled, ready to send, sent to dvla, error", # noqa - JobStatus.TYPES, + JobStatus, ), # bad statuses are accepted, just return no data ("foo", []), diff --git a/tests/app/v2/notifications/test_post_notifications.py b/tests/app/v2/notifications/test_post_notifications.py index d683895ee..98289dc62 100644 --- a/tests/app/v2/notifications/test_post_notifications.py +++ b/tests/app/v2/notifications/test_post_notifications.py @@ -8,12 +8,8 @@ from flask import current_app, json from app.dao import templates_dao from app.dao.service_sms_sender_dao import dao_update_service_sms_sender -from app.models import ( - NOTIFICATION_CREATED, - Notification, - NotificationType, - ServicePermissionType, -) +from app.enums import NotificationStatus, NotificationType, ServicePermissionType +from app.models import Notification from app.schema_validation import validate from app.v2.errors import RateLimitError from app.v2.notifications.notification_schemas import ( @@ -59,7 +55,7 @@ def test_post_sms_notification_returns_201( assert validate(resp_json, post_sms_response) == resp_json notifications = Notification.query.all() assert len(notifications) == 1 - assert notifications[0].status == NOTIFICATION_CREATED + assert notifications[0].status == NotificationStatus.CREATED notification_id = notifications[0].id assert notifications[0].document_download_count is None assert resp_json["id"] == str(notification_id) @@ -490,7 +486,7 @@ def test_post_email_notification_returns_201( resp_json = json.loads(response.get_data(as_text=True)) assert validate(resp_json, post_email_response) == resp_json notification = Notification.query.one() - assert notification.status == NOTIFICATION_CREATED + assert notification.status == NotificationStatus.CREATED assert resp_json["id"] == str(notification.id) assert resp_json["reference"] == reference assert notification.reference is None @@ -1042,7 +1038,7 @@ def test_post_notification_with_document_upload( ] notification = Notification.query.one() - assert notification.status == NOTIFICATION_CREATED + assert notification.status == NotificationStatus.CREATED assert notification.personalisation == { "first_link": "abababab-link", "second_link": "cdcdcdcd-link",