class ResultDelete(MultiOp): """ Test DELETE /result """ def setUp(self): self.get = Get() urls, response = initiate_crawl() json_response = json.loads(response['content'].decode()) job_id = json_response['job_id'] self.query_string = 'job_id=' + str(job_id) # Wait until the initiated crawl has begun. self.get.wait_for_passing_content( '/status', self.query_string, self._mk_response_test(['Running', 'Complete'])) # Stop the crawl. response = request('POST', '/stop', self.query_string) self.assertEqual(response['http_status'], '202 Accepted') self.get.wait_for_passing_content('/status', self.query_string, self._mk_response_test(['Aborted'])) # Delete the results. for url in urls: self.response = request('DELETE', '/result', 'url=' + parse.quote(url)) def test_http_status(self): self.assertEqual(self.response['http_status'], '204 No Content') def test_success(self): response = request('GET', '/result', self.query_string) json_response = json.loads(response['content'].decode()) self.assertEqual(0, len(json_response))
class StopPost(MultiOp): """ Test POST /stop """ def setUp(self): self.get = Get() urls, response = initiate_crawl() json_response = json.loads(response['content'].decode()) job_id = json_response['job_id'] self.query_string = 'job_id=' + str(job_id) # Wait until the initiated crawl has begun. self.get.wait_for_passing_content( '/status', self.query_string, self._mk_response_test(['Running', 'Complete'])) # Stop the crawl. self.response = request('POST', '/stop', self.query_string) def test_http_status(self): self.assertEqual(self.response['http_status'], '202 Accepted') def test_content(self): self.get.wait_for_passing_content('/status', self.query_string, self._mk_response_test(['Aborted'])) # Test that total results do not increase over 3 seconds. response = request('GET', '/result', self.query_string) json_response = json.loads(response['content'].decode()) len0 = len(json_response) time.sleep(3) response = request('GET', '/result', self.query_string) json_response = json.loads(response['content'].decode()) len1 = len(json_response) self.assertEqual(len0, len1)
class StopPost(MultiOp): """ Test POST /stop """ def setUp(self): self.get = Get() urls, response = initiate_crawl() json_response = json.loads(response['content'].decode()) job_id = json_response['job_id'] self.query_string = 'job_id=' + str(job_id) # Wait until the initiated crawl has begun. self.get.wait_for_passing_content('/status', self.query_string, self._mk_response_test(['Running', 'Complete'])) # Stop the crawl. self.response = request('POST', '/stop', self.query_string) def test_http_status(self): self.assertEqual(self.response['http_status'], '202 Accepted') def test_content(self): self.get.wait_for_passing_content('/status', self.query_string, self._mk_response_test(['Aborted'])) # Test that total results do not increase over 3 seconds. response = request('GET', '/result', self.query_string) json_response = json.loads(response['content'].decode()) len0 = len(json_response) time.sleep(3) response = request('GET', '/result', self.query_string) json_response = json.loads(response['content'].decode()) len1 = len(json_response) self.assertEqual(len0, len1)
class ResultDelete(MultiOp): """ Test DELETE /result """ def setUp(self): self.get = Get() urls, response = initiate_crawl() json_response = json.loads(response['content'].decode()) job_id = json_response['job_id'] self.query_string = 'job_id=' + str(job_id) # Wait until the initiated crawl has begun. self.get.wait_for_passing_content('/status', self.query_string, self._mk_response_test(['Running', 'Complete'])) # Stop the crawl. response = request('POST', '/stop', self.query_string) self.assertEqual(response['http_status'], '202 Accepted') self.get.wait_for_passing_content('/status', self.query_string, self._mk_response_test(['Aborted'])) # Delete the results. for url in urls: self.response = request('DELETE', '/result', 'url=' + parse.quote(url)) def test_http_status(self): self.assertEqual(self.response['http_status'], '204 No Content') def test_success(self): response = request('GET', '/result', self.query_string) json_response = json.loads(response['content'].decode()) self.assertEqual(0, len(json_response))