def test_client_gets_job_by_service_and_job(mocker): service_id = "service_id" job_id = "job_id" expected_url = "/service/{}/job/{}".format(service_id, job_id) client = JobApiClient() mock_get = mocker.patch("app.notify_client.job_api_client.JobApiClient.get") client.get_job(service_id, job_id) mock_get.assert_called_once_with(url=expected_url, params={})
def test_client_parses_job_stats(mocker): service_id = "service_id" job_id = "job_id" expected_data = { "data": { "status": "finished", "template_version": 3, "id": job_id, "updated_at": "2016-08-24T08:29:28.332972+00:00", "service": service_id, "processing_finished": "2016-08-24T08:11:48.676365+00:00", "statistics": [ {"status": "failed", "count": 10}, {"status": "technical-failure", "count": 10}, {"status": "temporary-failure", "count": 10}, {"status": "permanent-failure", "count": 10}, {"status": "created", "count": 10}, {"status": "sending", "count": 10}, {"status": "pending", "count": 10}, {"status": "delivered", "count": 10}, ], "original_file_name": "test-notify-email.csv", "created_by": { "name": "*****@*****.**", "id": "3571f2ae-7a39-4fb4-9ad7-8453f5257072", }, "created_at": "2016-08-24T08:09:56.371073+00:00", "template": "c0309261-9c9e-4530-8fed-5f67b02260d2", "notification_count": 80, "processing_started": "2016-08-24T08:09:57.661246+00:00", } } expected_url = "/service/{}/job/{}".format(service_id, job_id) client = JobApiClient() mock_get = mocker.patch("app.notify_client.job_api_client.JobApiClient.get", return_value=expected_data) result = client.get_job(service_id, job_id) mock_get.assert_called_once_with(url=expected_url, params={}) assert result["data"]["notifications_requested"] == 80 assert result["data"]["notifications_sent"] == 50 assert result["data"]["notification_count"] == 80 assert result["data"]["notifications_failed"] == 40
def test_client_parses_empty_job_stats(mocker): service_id = 'service_id' job_id = 'job_id' expected_data = { 'data': { 'status': 'finished', 'template_version': 3, 'id': job_id, 'updated_at': '2016-08-24T08:29:28.332972+00:00', 'service': service_id, 'processing_finished': '2016-08-24T08:11:48.676365+00:00', 'statistics': [], 'original_file_name': 'test-notify-email.csv', 'created_by': { 'name': '*****@*****.**', 'id': '3571f2ae-7a39-4fb4-9ad7-8453f5257072' }, 'created_at': '2016-08-24T08:09:56.371073+00:00', 'template': 'c0309261-9c9e-4530-8fed-5f67b02260d2', 'notification_count': 80, 'processing_started': '2016-08-24T08:09:57.661246+00:00' } } expected_url = '/service/{}/job/{}'.format(service_id, job_id) client = JobApiClient() mock_get = mocker.patch( 'app.notify_client.job_api_client.JobApiClient.get', return_value=expected_data) result = client.get_job(service_id, job_id) mock_get.assert_called_once_with(url=expected_url, params={}) assert result['data']['notifications_requested'] == 0 assert result['data']['notifications_sent'] == 0 assert result['data']['notification_count'] == 80 assert result['data']['notifications_failed'] == 0