Refactor code to move business logic

- DVLA specific logic is now moved to letters_pdf_tasks
This commit is contained in:
Ken Tsang
2018-01-23 17:45:35 +00:00
parent 3355a29d01
commit edd030e5dd
4 changed files with 75 additions and 73 deletions

View File

@@ -11,7 +11,6 @@ from app.aws.s3 import (
get_s3_file,
filter_s3_bucket_objects_within_date_range,
remove_transformed_dvla_file,
upload_letters_pdf,
get_list_of_files_by_suffix,
)
from tests.app.conftest import datetime_in_past
@@ -144,38 +143,6 @@ def test_get_s3_bucket_objects_does_not_return_outside_of_date_range(notify_api,
assert len(filtered_items) == 0
@pytest.mark.parametrize('crown_flag,expected_crown_text', [
(True, 'C'),
(False, 'N'),
])
@freeze_time("2017-12-04 17:29:00")
def test_upload_letters_pdf_calls_utils_s3upload_with_correct_args(
notify_api, mocker, crown_flag, expected_crown_text):
s3_upload_mock = mocker.patch('app.aws.s3.utils_s3upload')
upload_letters_pdf(reference='foo', crown=crown_flag, filedata='some_data')
s3_upload_mock.assert_called_with(
filedata='some_data',
region='eu-west-1',
bucket_name='test-letters-pdf',
file_location='2017-12-04/NOTIFY.FOO.D.2.C.{}.20171204172900.PDF'.format(expected_crown_text)
)
@freeze_time("2017-12-04 17:31:00")
def test_upload_letters_pdf_puts_in_tomorrows_bucket_after_half_five(notify_api, mocker):
s3_upload_mock = mocker.patch('app.aws.s3.utils_s3upload')
upload_letters_pdf(reference='foo', crown=True, filedata='some_data')
s3_upload_mock.assert_called_with(
filedata='some_data',
region='eu-west-1',
bucket_name='test-letters-pdf',
# in tomorrow's folder, but still has this evening's timestamp
file_location='2017-12-05/NOTIFY.FOO.D.2.C.C.20171204173100.PDF'
)
@freeze_time("2018-01-11 00:00:00")
@pytest.mark.parametrize('suffix_str, days_before, returned_no', [
('.ACK.txt', None, 1),