mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-03 09:51:11 -05:00
Rename task from create_letters_pdf to get_pdf_for_templated_letter
In a separate PR we will have to delete vestigial create_letters_pdf tasks that now only redirects to get_pdf_for_templated_letter.
This commit is contained in:
@@ -14,9 +14,9 @@ from app import encryption
|
||||
from app.errors import VirusScanError
|
||||
from app.exceptions import NotificationTechnicalFailureException
|
||||
from app.celery.letters_pdf_tasks import (
|
||||
create_letters_pdf,
|
||||
collate_letter_pdfs_to_be_sent,
|
||||
get_key_and_size_of_letters_to_be_sent_to_print,
|
||||
get_pdf_for_templated_letter,
|
||||
group_letters,
|
||||
process_sanitised_letter,
|
||||
process_virus_scan_failed,
|
||||
@@ -48,7 +48,7 @@ from tests.conftest import set_config_values
|
||||
|
||||
|
||||
def test_should_have_decorated_tasks_functions():
|
||||
assert create_letters_pdf.__wrapped__.__name__ == 'create_letters_pdf'
|
||||
assert get_pdf_for_templated_letter.__wrapped__.__name__ == 'get_pdf_for_templated_letter'
|
||||
assert collate_letter_pdfs_to_be_sent.__wrapped__.__name__ == 'collate_letter_pdfs_to_be_sent'
|
||||
assert process_virus_scan_failed.__wrapped__.__name__ == 'process_virus_scan_failed'
|
||||
assert process_virus_scan_error.__wrapped__.__name__ == 'process_virus_scan_error'
|
||||
@@ -57,13 +57,13 @@ def test_should_have_decorated_tasks_functions():
|
||||
|
||||
|
||||
@pytest.mark.parametrize('branding_name,logo_filename', [(None, None), ['Test Brand', 'test-brand']])
|
||||
def test_create_letters_pdf_happy_path(mocker, sample_letter_notification, branding_name, logo_filename):
|
||||
def test_get_pdf_for_templated_letter_happy_path(mocker, sample_letter_notification, branding_name, logo_filename):
|
||||
if branding_name:
|
||||
letter_branding = create_letter_branding(name=branding_name, filename=logo_filename)
|
||||
sample_letter_notification.service.letter_branding = letter_branding
|
||||
mock_celery = mocker.patch('app.celery.letters_pdf_tasks.notify_celery.send_task')
|
||||
mocker.patch('app.celery.letters_pdf_tasks.get_letter_pdf_filename', return_value='LETTER.PDF')
|
||||
create_letters_pdf(sample_letter_notification.id)
|
||||
get_pdf_for_templated_letter(sample_letter_notification.id)
|
||||
|
||||
letter_data = {
|
||||
'letter_contact_block': sample_letter_notification.reply_to_text,
|
||||
@@ -88,18 +88,18 @@ def test_create_letters_pdf_happy_path(mocker, sample_letter_notification, brand
|
||||
)
|
||||
|
||||
|
||||
def test_create_letters_pdf_non_existent_notification(notify_api, mocker, fake_uuid):
|
||||
def test_get_pdf_for_templated_letter_non_existent_notification(notify_api, mocker, fake_uuid):
|
||||
with pytest.raises(expected_exception=NoResultFound):
|
||||
create_letters_pdf(fake_uuid)
|
||||
get_pdf_for_templated_letter(fake_uuid)
|
||||
|
||||
|
||||
def test_create_letters_pdf_retries_upon_error(mocker, sample_letter_notification):
|
||||
def test_get_pdf_for_templated_letter_retries_upon_error(mocker, sample_letter_notification):
|
||||
mock_celery = mocker.patch('app.celery.letters_pdf_tasks.notify_celery.send_task', side_effect=Exception())
|
||||
mocker.patch('app.celery.letters_pdf_tasks.get_letter_pdf_filename', return_value='LETTER.PDF')
|
||||
mock_retry = mocker.patch('app.celery.letters_pdf_tasks.create_letters_pdf.retry')
|
||||
mock_retry = mocker.patch('app.celery.letters_pdf_tasks.get_pdf_for_templated_letter.retry')
|
||||
mock_logger = mocker.patch('app.celery.tasks.current_app.logger.exception')
|
||||
|
||||
create_letters_pdf(sample_letter_notification.id)
|
||||
get_pdf_for_templated_letter(sample_letter_notification.id)
|
||||
|
||||
assert mock_celery.called
|
||||
assert mock_retry.called
|
||||
@@ -108,15 +108,15 @@ def test_create_letters_pdf_retries_upon_error(mocker, sample_letter_notificatio
|
||||
)
|
||||
|
||||
|
||||
def test_create_letters_pdf_sets_technical_failure_max_retries(mocker, sample_letter_notification):
|
||||
def test_get_pdf_for_templated_letter_sets_technical_failure_max_retries(mocker, sample_letter_notification):
|
||||
mock_celery = mocker.patch('app.celery.letters_pdf_tasks.notify_celery.send_task', side_effect=Exception())
|
||||
mocker.patch('app.celery.letters_pdf_tasks.get_letter_pdf_filename', return_value='LETTER.PDF')
|
||||
mock_retry = mocker.patch(
|
||||
'app.celery.letters_pdf_tasks.create_letters_pdf.retry', side_effect=MaxRetriesExceededError)
|
||||
'app.celery.letters_pdf_tasks.get_pdf_for_templated_letter.retry', side_effect=MaxRetriesExceededError)
|
||||
mock_update_noti = mocker.patch('app.celery.letters_pdf_tasks.update_notification_status_by_id')
|
||||
|
||||
with pytest.raises(NotificationTechnicalFailureException) as e:
|
||||
create_letters_pdf(sample_letter_notification.id)
|
||||
get_pdf_for_templated_letter(sample_letter_notification.id)
|
||||
|
||||
assert e.value.args[0] == f"RETRY FAILED: Max retries reached. " \
|
||||
f"The task create-letter-pdf failed for notification id {sample_letter_notification.id}. " \
|
||||
|
||||
@@ -293,10 +293,10 @@ def test_replay_created_notifications(notify_db_session, sample_service, mocker)
|
||||
queue="send-sms-tasks")
|
||||
|
||||
|
||||
def test_replay_created_notifications_create_letters_pdf_tasks_for_letters_not_ready_to_send(
|
||||
def test_replay_created_notifications_get_pdf_for_templated_letter_tasks_for_letters_not_ready_to_send(
|
||||
sample_letter_template, mocker
|
||||
):
|
||||
mock_task = mocker.patch('app.celery.scheduled_tasks.create_letters_pdf.apply_async')
|
||||
mock_task = mocker.patch('app.celery.scheduled_tasks.get_pdf_for_templated_letter.apply_async')
|
||||
create_notification(template=sample_letter_template, billable_units=0,
|
||||
created_at=datetime.utcnow() - timedelta(hours=4))
|
||||
|
||||
|
||||
@@ -1000,7 +1000,7 @@ def test_save_letter_saves_letter_to_database(
|
||||
job = create_job(template=template)
|
||||
|
||||
mocker.patch('app.celery.tasks.create_random_identifier', return_value="this-is-random-in-real-life")
|
||||
mocker.patch('app.celery.tasks.letters_pdf_tasks.create_letters_pdf.apply_async')
|
||||
mocker.patch('app.celery.tasks.letters_pdf_tasks.get_pdf_for_templated_letter.apply_async')
|
||||
|
||||
notification_json = _notification_json(
|
||||
template=job.template,
|
||||
@@ -1041,7 +1041,7 @@ def test_save_letter_saves_letter_to_database_with_correct_postage(mocker, notif
|
||||
template = create_template(service=service, template_type=LETTER_TYPE, postage=postage)
|
||||
letter_job = create_job(template=template)
|
||||
|
||||
mocker.patch('app.celery.tasks.letters_pdf_tasks.create_letters_pdf.apply_async')
|
||||
mocker.patch('app.celery.tasks.letters_pdf_tasks.get_pdf_for_templated_letter.apply_async')
|
||||
notification_json = _notification_json(
|
||||
template=letter_job.template,
|
||||
to='Foo',
|
||||
@@ -1066,7 +1066,7 @@ def test_save_letter_saves_letter_to_database_with_formatted_postcode(mocker, no
|
||||
template = create_template(service=service, template_type=LETTER_TYPE)
|
||||
letter_job = create_job(template=template)
|
||||
|
||||
mocker.patch('app.celery.tasks.letters_pdf_tasks.create_letters_pdf.apply_async')
|
||||
mocker.patch('app.celery.tasks.letters_pdf_tasks.get_pdf_for_templated_letter.apply_async')
|
||||
notification_json = _notification_json(
|
||||
template=letter_job.template,
|
||||
to='Foo',
|
||||
@@ -1093,7 +1093,7 @@ def test_save_letter_saves_letter_to_database_right_reply_to(mocker, notify_db_s
|
||||
job = create_job(template=template)
|
||||
|
||||
mocker.patch('app.celery.tasks.create_random_identifier', return_value="this-is-random-in-real-life")
|
||||
mocker.patch('app.celery.tasks.letters_pdf_tasks.create_letters_pdf.apply_async')
|
||||
mocker.patch('app.celery.tasks.letters_pdf_tasks.get_pdf_for_templated_letter.apply_async')
|
||||
|
||||
personalisation = {
|
||||
'addressline1': 'Foo',
|
||||
@@ -1161,7 +1161,7 @@ def test_save_letter_uses_template_reply_to_text(mocker, notify_db_session):
|
||||
job = create_job(template=template)
|
||||
|
||||
mocker.patch('app.celery.tasks.create_random_identifier', return_value="this-is-random-in-real-life")
|
||||
mocker.patch('app.celery.tasks.letters_pdf_tasks.create_letters_pdf.apply_async')
|
||||
mocker.patch('app.celery.tasks.letters_pdf_tasks.get_pdf_for_templated_letter.apply_async')
|
||||
|
||||
personalisation = {
|
||||
'addressline1': 'Foo',
|
||||
@@ -1299,9 +1299,9 @@ def test_save_letter_calls_create_fake_response_for_letters_in_research_mode_on_
|
||||
)
|
||||
|
||||
|
||||
def test_save_letter_calls_create_letters_pdf_task_not_in_research(
|
||||
def test_save_letter_calls_get_pdf_for_templated_letter_task_not_in_research(
|
||||
mocker, notify_db_session, sample_letter_job):
|
||||
mock_create_letters_pdf = mocker.patch('app.celery.letters_pdf_tasks.create_letters_pdf.apply_async')
|
||||
mock_create_letters_pdf = mocker.patch('app.celery.letters_pdf_tasks.get_pdf_for_templated_letter.apply_async')
|
||||
|
||||
personalisation = {
|
||||
'addressline1': 'Foo',
|
||||
|
||||
@@ -243,11 +243,11 @@ def test_persist_notification_increments_cache_if_key_exists(sample_template, sa
|
||||
(True, None, 'sms', 'normal', 'research-mode-tasks', 'provider_tasks.deliver_sms'),
|
||||
(True, None, 'email', 'normal', 'research-mode-tasks', 'provider_tasks.deliver_email'),
|
||||
(True, None, 'email', 'team', 'research-mode-tasks', 'provider_tasks.deliver_email'),
|
||||
(True, None, 'letter', 'normal', 'research-mode-tasks', 'letters_pdf_tasks.create_letters_pdf'),
|
||||
(True, None, 'letter', 'normal', 'research-mode-tasks', 'letters_pdf_tasks.get_pdf_for_templated_letter'),
|
||||
(False, None, 'sms', 'normal', 'send-sms-tasks', 'provider_tasks.deliver_sms'),
|
||||
(False, None, 'email', 'normal', 'send-email-tasks', 'provider_tasks.deliver_email'),
|
||||
(False, None, 'sms', 'team', 'send-sms-tasks', 'provider_tasks.deliver_sms'),
|
||||
(False, None, 'letter', 'normal', 'create-letters-pdf-tasks', 'letters_pdf_tasks.create_letters_pdf'),
|
||||
(False, None, 'letter', 'normal', 'create-letters-pdf-tasks', 'letters_pdf_tasks.get_pdf_for_templated_letter'),
|
||||
(False, None, 'sms', 'test', 'research-mode-tasks', 'provider_tasks.deliver_sms'),
|
||||
(True, 'notify-internal-tasks', 'email', 'normal', 'research-mode-tasks', 'provider_tasks.deliver_email'),
|
||||
(False, 'notify-internal-tasks', 'sms', 'normal', 'notify-internal-tasks', 'provider_tasks.deliver_sms'),
|
||||
|
||||
@@ -56,7 +56,7 @@ def letter_request(client, data, service_id, key_type=KEY_TYPE_NORMAL, _expected
|
||||
|
||||
@pytest.mark.parametrize('reference', [None, 'reference_from_client'])
|
||||
def test_post_letter_notification_returns_201(client, sample_letter_template, mocker, reference):
|
||||
mock = mocker.patch('app.celery.tasks.letters_pdf_tasks.create_letters_pdf.apply_async')
|
||||
mock = mocker.patch('app.celery.tasks.letters_pdf_tasks.get_pdf_for_templated_letter.apply_async')
|
||||
data = {
|
||||
'template_id': str(sample_letter_template.id),
|
||||
'personalisation': {
|
||||
@@ -100,7 +100,7 @@ def test_post_letter_notification_sets_postage(
|
||||
):
|
||||
service = create_service(service_permissions=[LETTER_TYPE])
|
||||
template = create_template(service, template_type="letter", postage="first")
|
||||
mocker.patch('app.celery.tasks.letters_pdf_tasks.create_letters_pdf.apply_async')
|
||||
mocker.patch('app.celery.tasks.letters_pdf_tasks.get_pdf_for_templated_letter.apply_async')
|
||||
data = {
|
||||
'template_id': str(template.id),
|
||||
'personalisation': {
|
||||
@@ -124,7 +124,7 @@ def test_post_letter_notification_formats_postcode(
|
||||
):
|
||||
service = create_service(service_permissions=[LETTER_TYPE])
|
||||
template = create_template(service, template_type="letter")
|
||||
mocker.patch('app.celery.tasks.letters_pdf_tasks.create_letters_pdf.apply_async')
|
||||
mocker.patch('app.celery.tasks.letters_pdf_tasks.get_pdf_for_templated_letter.apply_async')
|
||||
data = {
|
||||
'template_id': str(template.id),
|
||||
'personalisation': {
|
||||
@@ -150,7 +150,7 @@ def test_post_letter_notification_stores_country(
|
||||
):
|
||||
service = create_service(service_permissions=[LETTER_TYPE, INTERNATIONAL_LETTERS])
|
||||
template = create_template(service, template_type="letter")
|
||||
mocker.patch('app.celery.tasks.letters_pdf_tasks.create_letters_pdf.apply_async')
|
||||
mocker.patch('app.celery.tasks.letters_pdf_tasks.get_pdf_for_templated_letter.apply_async')
|
||||
data = {
|
||||
'template_id': str(template.id),
|
||||
'personalisation': {
|
||||
@@ -191,7 +191,7 @@ def test_post_letter_notification_throws_error_for_bad_postcode(
|
||||
):
|
||||
service = create_service(service_permissions=[LETTER_TYPE])
|
||||
template = create_template(service, template_type="letter", postage="first")
|
||||
mocker.patch('app.celery.tasks.letters_pdf_tasks.create_letters_pdf.apply_async')
|
||||
mocker.patch('app.celery.tasks.letters_pdf_tasks.get_pdf_for_templated_letter.apply_async')
|
||||
data = {
|
||||
'template_id': str(template.id),
|
||||
'personalisation': {
|
||||
@@ -231,7 +231,7 @@ def test_post_letter_notification_with_test_key_creates_pdf_and_sets_status_to_d
|
||||
'reference': 'foo'
|
||||
}
|
||||
|
||||
fake_create_letter_task = mocker.patch('app.celery.letters_pdf_tasks.create_letters_pdf.apply_async')
|
||||
fake_create_letter_task = mocker.patch('app.celery.letters_pdf_tasks.get_pdf_for_templated_letter.apply_async')
|
||||
fake_create_dvla_response_task = mocker.patch(
|
||||
'app.celery.research_mode_tasks.create_fake_letter_response_file.apply_async')
|
||||
|
||||
@@ -266,7 +266,7 @@ def test_post_letter_notification_with_test_key_creates_pdf_and_sets_status_to_s
|
||||
'reference': 'foo'
|
||||
}
|
||||
|
||||
fake_create_letter_task = mocker.patch('app.celery.letters_pdf_tasks.create_letters_pdf.apply_async')
|
||||
fake_create_letter_task = mocker.patch('app.celery.letters_pdf_tasks.get_pdf_for_templated_letter.apply_async')
|
||||
fake_create_dvla_response_task = mocker.patch(
|
||||
'app.celery.research_mode_tasks.create_fake_letter_response_file.apply_async')
|
||||
|
||||
@@ -444,7 +444,7 @@ def test_post_letter_notification_returns_403_if_not_allowed_to_send_notificatio
|
||||
|
||||
|
||||
def test_post_letter_notification_doesnt_accept_team_key(client, sample_letter_template, mocker):
|
||||
mocker.patch('app.celery.letters_pdf_tasks.create_letters_pdf.apply_async')
|
||||
mocker.patch('app.celery.letters_pdf_tasks.get_pdf_for_templated_letter.apply_async')
|
||||
data = {
|
||||
'template_id': str(sample_letter_template.id),
|
||||
'personalisation': {'address_line_1': 'Foo', 'address_line_2': 'Bar', 'postcode': 'Baz'}
|
||||
@@ -463,7 +463,7 @@ def test_post_letter_notification_doesnt_accept_team_key(client, sample_letter_t
|
||||
|
||||
|
||||
def test_post_letter_notification_doesnt_send_in_trial(client, sample_trial_letter_template, mocker):
|
||||
mocker.patch('app.celery.letters_pdf_tasks.create_letters_pdf.apply_async')
|
||||
mocker.patch('app.celery.letters_pdf_tasks.get_pdf_for_templated_letter.apply_async')
|
||||
data = {
|
||||
'template_id': str(sample_trial_letter_template.id),
|
||||
'personalisation': {'address_line_1': 'Foo', 'address_line_2': 'Bar', 'postcode': 'Baz'}
|
||||
@@ -486,7 +486,7 @@ def test_post_letter_notification_is_delivered_but_still_creates_pdf_if_in_trial
|
||||
sample_trial_letter_template,
|
||||
mocker
|
||||
):
|
||||
fake_create_letter_task = mocker.patch('app.celery.letters_pdf_tasks.create_letters_pdf.apply_async')
|
||||
fake_create_letter_task = mocker.patch('app.celery.letters_pdf_tasks.get_pdf_for_templated_letter.apply_async')
|
||||
|
||||
data = {
|
||||
"template_id": sample_trial_letter_template.id,
|
||||
@@ -527,7 +527,7 @@ def test_post_letter_notification_is_delivered_and_has_pdf_uploaded_to_test_lett
|
||||
def test_post_letter_notification_ignores_reply_to_text_for_service(
|
||||
client, notify_db_session, mocker
|
||||
):
|
||||
mocker.patch('app.celery.letters_pdf_tasks.create_letters_pdf.apply_async')
|
||||
mocker.patch('app.celery.letters_pdf_tasks.get_pdf_for_templated_letter.apply_async')
|
||||
|
||||
service = create_service(service_permissions=[LETTER_TYPE])
|
||||
create_letter_contact(service=service, contact_block='ignored', is_default=True)
|
||||
@@ -546,7 +546,7 @@ def test_post_letter_notification_ignores_reply_to_text_for_service(
|
||||
def test_post_letter_notification_persists_notification_reply_to_text_for_template(
|
||||
client, notify_db_session, mocker
|
||||
):
|
||||
mocker.patch('app.celery.letters_pdf_tasks.create_letters_pdf.apply_async')
|
||||
mocker.patch('app.celery.letters_pdf_tasks.get_pdf_for_templated_letter.apply_async')
|
||||
|
||||
service = create_service(service_permissions=[LETTER_TYPE])
|
||||
create_letter_contact(service=service, contact_block='the default', is_default=True)
|
||||
|
||||
Reference in New Issue
Block a user