From 4fc3af981104b5f4a828292407cc62350ab3f9eb Mon Sep 17 00:00:00 2001 From: Pea Tyczynska Date: Tue, 23 Feb 2021 18:57:36 +0000 Subject: [PATCH 1/3] Add date to personalisation for DVLA email Personalisation was missing date attribute. The email still got sent tonight, just it didn't have a value for date placeholder. --- app/celery/letters_pdf_tasks.py | 7 ++++--- tests/app/celery/test_letters_pdf_tasks.py | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/app/celery/letters_pdf_tasks.py b/app/celery/letters_pdf_tasks.py index a7a01672b..1dd15c770 100644 --- a/app/celery/letters_pdf_tasks.py +++ b/app/celery/letters_pdf_tasks.py @@ -181,10 +181,10 @@ def collate_letter_pdfs_to_be_sent(): def _get_letters_and_sheets_volumes_and_send_to_dvla(print_run_deadline): letters_volumes = dao_get_letters_and_sheets_volume_by_postage(print_run_deadline) - send_letters_volume_email_to_dvla(letters_volumes) + send_letters_volume_email_to_dvla(letters_volumes, print_run_deadline.date()) -def send_letters_volume_email_to_dvla(letters_volumes): +def send_letters_volume_email_to_dvla(letters_volumes, date): personalisation = { 'total_volume': 0, 'first_class_volume': 0, @@ -193,7 +193,8 @@ def send_letters_volume_email_to_dvla(letters_volumes): 'total_sheets': 0, 'first_class_sheets': 0, "second_class_sheets": 0, - 'international_sheets': 0 + 'international_sheets': 0, + 'date': date.strftime("%d %B %Y") } for item in letters_volumes: personalisation['total_volume'] += item.letters_count diff --git a/tests/app/celery/test_letters_pdf_tasks.py b/tests/app/celery/test_letters_pdf_tasks.py index 3326bfee5..f4dd907f3 100644 --- a/tests/app/celery/test_letters_pdf_tasks.py +++ b/tests/app/celery/test_letters_pdf_tasks.py @@ -396,7 +396,7 @@ def test_collate_letter_pdfs_to_be_sent( mock_send_email_to_dvla.assert_called_once_with([ (1, 1, 'europe'), (1, 1, 'first'), (1, 1, 'rest-of-world'), (4, 4, 'second') - ]) + ], datetime(2020, 2, 17).date()) assert len(mock_celery.call_args_list) == 6 assert mock_celery.call_args_list[0] == call( @@ -476,7 +476,7 @@ def test_send_letters_volume_email_to_dvla(notify_api, notify_db_session, mocker ] send_mock = mocker.patch('app.celery.provider_tasks.deliver_email.apply_async') - send_letters_volume_email_to_dvla(letters_volumes) + send_letters_volume_email_to_dvla(letters_volumes, datetime(2020, 2, 17).date()) email_to_dvla = get_notifications().all()[0] @@ -492,7 +492,8 @@ def test_send_letters_volume_email_to_dvla(notify_api, notify_db_session, mocker 'total_sheets': 24, 'first_class_sheets': 7, "second_class_sheets": 12, - 'international_sheets': 5 + 'international_sheets': 5, + 'date': '17 February 2020' } From 8e3ef5ff059d9a5be4878ac11f87a28d0999e02d Mon Sep 17 00:00:00 2001 From: Pea Tyczynska Date: Wed, 24 Feb 2021 10:32:20 +0000 Subject: [PATCH 2/3] Add DVLA_EMAIL_ADDRESS to manifest so it gets picked up from credentials. --- manifest.yml.j2 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/manifest.yml.j2 b/manifest.yml.j2 index 8a7cf8832..615a002ca 100644 --- a/manifest.yml.j2 +++ b/manifest.yml.j2 @@ -150,6 +150,8 @@ applications: TEMPLATE_PREVIEW_API_HOST: '{{ TEMPLATE_PREVIEW_API_HOST }}' TEMPLATE_PREVIEW_API_KEY: '{{ TEMPLATE_PREVIEW_API_KEY }}' + DVLA_EMAIL_ADDRESS: '{{ DVLA_EMAIL_ADDRESS }}' + {% for key, value in app.get('additional_env_vars', {}).items() %} {{key}}: '{{value}}' {% endfor %} From f3e0cfc727186988768595b279e3687c13c6be9b Mon Sep 17 00:00:00 2001 From: Pea Tyczynska Date: Wed, 24 Feb 2021 11:34:29 +0000 Subject: [PATCH 3/3] Pull DVLA address from credentials on staging So that we can test this flow on staging. --- app/config.py | 1 + 1 file changed, 1 insertion(+) diff --git a/app/config.py b/app/config.py index 2a2f6a4d1..3338fe8c0 100644 --- a/app/config.py +++ b/app/config.py @@ -515,6 +515,7 @@ class Staging(Config): FROM_NUMBER = 'stage' API_RATE_LIMIT_ENABLED = True CHECK_PROXY_HEADER = True + DVLA_EMAIL_ADDRESS = os.getenv('DVLA_EMAIL_ADDRESS') class Live(Config):