Files
notifications-api/tests/app/letters/test_send_letter_jobs.py
2017-04-06 15:26:50 +01:00

43 lines
1.3 KiB
Python

import uuid
from flask import current_app
from flask import json
from tests import create_authorization_header
def test_send_letter_jobs(client, mocker):
mock_celery = mocker.patch("app.letters.send_letter_jobs.notify_celery.send_task")
job_ids = {"job_ids": [str(uuid.uuid4()), str(uuid.uuid4()), str(uuid.uuid4())]}
auth_header = create_authorization_header()
response = client.post(
path='/send-letter-jobs',
data=json.dumps(job_ids),
headers=[('Content-Type', 'application/json'), auth_header])
assert response.status_code == 200
assert response.get_data(as_text=True) == "Task created to send files to DVLA"
mock_celery.assert_called_once_with(name="send-files-to-dvla",
args=(job_ids['job_ids'],),
queue="process-ftp")
def test_send_letter_jobs_throws_validation_error(client, mocker):
mock_celery = mocker.patch("app.letters.send_letter_jobs.notify_celery.send_task")
job_ids = {"job_ids": ["1", "2"]}
auth_header = create_authorization_header()
response = client.post(
path='/send-letter-jobs',
data=json.dumps(job_ids),
headers=[('Content-Type', 'application/json'), auth_header])
assert response.status_code == 400
assert not mock_celery.called