Create job now checks that the service is active before creating job.

Need to check what message and status code we should use for this case. Probably will create a InactiveServiceRequest exception.
This commit is contained in:
Rebecca Law
2017-01-31 11:11:33 +00:00
parent 1650fb0807
commit fe64b565a0
3 changed files with 16 additions and 2 deletions

View File

@@ -203,7 +203,7 @@ class Test(Config):
Queue('send-email', Exchange('default'), routing_key='send-email'),
Queue('research-mode', Exchange('default'), routing_key='research-mode')
]
REDIS_ENABLED = True
REDIS_ENABLED = False
API_HOST_NAME = "http://localhost:6011"

View File

@@ -110,7 +110,9 @@ def get_jobs_by_service(service_id):
@job.route('', methods=['POST'])
def create_job(service_id):
dao_fetch_service_by_id(service_id)
service = dao_fetch_service_by_id(service_id)
if not service.active:
raise InvalidRequest("Unable to create job to inactive service", 400)
data = request.get_json()

View File

@@ -170,6 +170,18 @@ def test_create_scheduled_job(notify_api, sample_template, mocker, fake_uuid):
assert resp_json['data']['original_file_name'] == 'thisisatest.csv'
def test_create_job_returns_400_if_service_is_not_active(client, fake_uuid, sample_service, mocker):
sample_service.active = False
mock_job_dao = mocker.patch("app.dao.jobs_dao.dao_create_job")
auth_header = create_authorization_header()
response = client.post('/service/{}/job'.format(sample_service.id),
data="",
headers=[('Content-Type', 'application/json'), auth_header])
assert response.status_code == 400
mock_job_dao.assert_not_called()
def test_should_not_create_scheduled_job_more_then_24_hours_hence(notify_api, sample_template, mocker, fake_uuid):
with notify_api.test_request_context():
with notify_api.test_client() as client: