コード例 #1
0
def test_collate_letter_pdfs_for_day_works_without_date_param(
        notify_api, mocker):
    mock_s3 = mocker.patch("app.celery.tasks.s3.get_s3_bucket_objects")
    collate_letter_pdfs_for_day()
    expected_date = "2018-09-12"
    mock_s3.assert_called_once_with("test-letters-pdf",
                                    subfolder=expected_date)
コード例 #2
0
def test_collate_letter_pdfs_for_day(notify_api, mocker):
    mock_s3 = mocker.patch('app.celery.tasks.s3.get_s3_bucket_objects', return_value=[
        {'Key': 'B.pDf', 'Size': 2},
        {'Key': 'A.PDF', 'Size': 1},
        {'Key': 'C.pdf', 'Size': 3}
    ])
    mock_group_letters = mocker.patch('app.celery.letters_pdf_tasks.group_letters', return_value=[
        [{'Key': 'A.PDF', 'Size': 1}, {'Key': 'B.pDf', 'Size': 2}],
        [{'Key': 'C.pdf', 'Size': 3}]
    ])
    mock_celery = mocker.patch('app.celery.letters_pdf_tasks.notify_celery.send_task')

    collate_letter_pdfs_for_day('2017-01-02')

    mock_s3.assert_called_once_with('test-letters-pdf', subfolder='2017-01-02')
    mock_group_letters.assert_called_once_with(sorted(mock_s3.return_value, key=lambda x: x['Key']))
    assert mock_celery.call_args_list[0] == call(
        name='zip-and-send-letter-pdfs',
        kwargs={
            'filenames_to_zip': ['A.PDF', 'B.pDf'],
            'upload_filename': 'NOTIFY.2017-01-02.001.oqdjIM2-NAUU9Sm5Slmi.ZIP'
        },
        queue='process-ftp-tasks',
        compression='zlib'
    )
    assert mock_celery.call_args_list[1] == call(
        name='zip-and-send-letter-pdfs',
        kwargs={
            'filenames_to_zip': ['C.pdf'],
            'upload_filename': 'NOTIFY.2017-01-02.002.tdr7hcdPieiqjkVoS4kU.ZIP'
        },
        queue='process-ftp-tasks',
        compression='zlib'
    )
コード例 #3
0
def test_collate_letter_pdfs_for_day(notify_api, mocker):
    mock_s3 = mocker.patch('app.celery.tasks.s3.get_s3_bucket_objects')
    mock_group_letters = mocker.patch(
        'app.celery.letters_pdf_tasks.group_letters',
        return_value=[[{
            'Key': 'A.PDF',
            'Size': 1
        }, {
            'Key': 'B.pDf',
            'Size': 2
        }], [{
            'Key': 'C.pdf',
            'Size': 3
        }]])
    mock_celery = mocker.patch(
        'app.celery.letters_pdf_tasks.notify_celery.send_task')

    collate_letter_pdfs_for_day('2017-01-02')

    mock_s3.assert_called_once_with('test-letters-pdf', subfolder='2017-01-02')
    mock_group_letters.assert_called_once_with(mock_s3.return_value)
    assert mock_celery.call_args_list[0] == call(
        name='zip-and-send-letter-pdfs',
        kwargs={'filenames_to_zip': ['A.PDF', 'B.pDf']},
        queue='process-ftp-tasks',
        compression='zlib')
    assert mock_celery.call_args_list[1] == call(
        name='zip-and-send-letter-pdfs',
        kwargs={'filenames_to_zip': ['C.pdf']},
        queue='process-ftp-tasks',
        compression='zlib')
コード例 #4
0
def test_collate_letter_pdfs_for_day(notify_api, mocker):
    mock_s3 = mocker.patch(
        "app.celery.tasks.s3.get_s3_bucket_objects",
        return_value=[
            {
                "Key": "B.pDf",
                "Size": 2
            },
            {
                "Key": "A.PDF",
                "Size": 1
            },
            {
                "Key": "C.pdf",
                "Size": 3
            },
        ],
    )
    mock_group_letters = mocker.patch(
        "app.celery.letters_pdf_tasks.group_letters",
        return_value=[
            [{
                "Key": "A.PDF",
                "Size": 1
            }, {
                "Key": "B.pDf",
                "Size": 2
            }],
            [{
                "Key": "C.pdf",
                "Size": 3
            }],
        ],
    )
    mock_celery = mocker.patch(
        "app.celery.letters_pdf_tasks.notify_celery.send_task")

    collate_letter_pdfs_for_day("2017-01-02")

    mock_s3.assert_called_once_with("test-letters-pdf", subfolder="2017-01-02")
    mock_group_letters.assert_called_once_with(
        sorted(mock_s3.return_value, key=lambda x: x["Key"]))
    assert mock_celery.call_args_list[0] == call(
        name="zip-and-send-letter-pdfs",
        kwargs={
            "filenames_to_zip": ["A.PDF", "B.pDf"],
            "upload_filename":
            "NOTIFY.2017-01-02.001.oqdjIM2-NAUU9Sm5Slmi.ZIP",
        },
        queue="process-ftp-tasks",
        compression="zlib",
    )
    assert mock_celery.call_args_list[1] == call(
        name="zip-and-send-letter-pdfs",
        kwargs={
            "filenames_to_zip": ["C.pdf"],
            "upload_filename":
            "NOTIFY.2017-01-02.002.tdr7hcdPieiqjkVoS4kU.ZIP",
        },
        queue="process-ftp-tasks",
        compression="zlib",
    )