mirror of
https://github.com/GSA/notifications-api.git
synced 2026-08-24 00:06:16 -04:00
Lots of changes, all changing the line of code that puts things into queues, and the code that tests that.
56 lines
1.9 KiB
Python
56 lines
1.9 KiB
Python
import uuid
|
|
|
|
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 == 201
|
|
assert json.loads(response.get_data())['data'] == {'response': "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-tasks")
|
|
|
|
|
|
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
|
|
|
|
|
|
def test_send_letter_jobs_throws_validation_error(client, sample_letter_job):
|
|
auth_header = create_authorization_header()
|
|
response = client.get(
|
|
path='/letter-jobs',
|
|
headers=[('Content-Type', 'application/json'), auth_header])
|
|
|
|
assert response.status_code == 200
|
|
json_resp = json.loads(response.get_data(as_text=True))
|
|
assert len(json_resp['data']) == 1
|
|
assert json_resp['data'][0]['id'] == str(sample_letter_job.id)
|
|
assert json_resp['data'][0]['service_name']['name'] == sample_letter_job.service.name
|
|
assert json_resp['data'][0]['job_status'] == 'pending'
|