def test_api_collection_view_data_exists(self, *mocks): request = Request({}) view = ApiCollectionView({}, request) resp = view.fetch() self.assertEqual(FETCH_JOBS.keys(), []) self.assertEqual(resp, {'status': FetchJob.STATUS_COMPLETE, 'reason': None})
def test_api_collection_view_not_submit_job(self, *mocks): request = Request({}) view = ApiCollectionView({}, request) resp = view.fetch() # Check that second fetch does not submit another job resp = view.fetch() self.assertEqual(FETCH_JOBS.keys(), ['/tmp/def']) self.assertEqual(resp, {'status': FetchJob.STATUS_PENDING, 'reason': None}) job = FETCH_JOBS['/tmp/def'] self.assertEqual(view.request, request) self.assertEqual(job.status, FetchJob.STATUS_PENDING) self.assertEqual(resp, {'status': FetchJob.STATUS_PENDING, 'reason': None})
def test_api_collection_view_remove_completed_job(self, *mocks): request = Request({}) view = ApiCollectionView({}, request) resp = view.fetch() job = FETCH_JOBS['/tmp/def'] self.assertEqual(view.request, request) self.assertEqual(job.status, FetchJob.STATUS_PENDING) self.assertEqual(resp, {'status': FetchJob.STATUS_PENDING, 'reason': None}) job.update(status=FetchJob.STATUS_COMPLETE, start_timestamp=datetime.datetime.now()) self.assertEqual(job.status, FetchJob.STATUS_COMPLETE) resp = view.fetch() self.assertEqual(job.status, FetchJob.STATUS_COMPLETE) self.assertEqual(FETCH_JOBS.keys(), []) self.assertEqual(resp, {'status': FetchJob.STATUS_COMPLETE, 'reason': None})