def test_query_match_all(self, es): es.search.return_value = { "hits": { "hits": [ { "some-doc-1" } ] } } query_runner = runner.Query() params = { "index": "unittest", "type": "type", "use_request_cache": False, "body": { "query": { "match_all": {} } } } with query_runner: num_ops, ops_unit = query_runner(es, params) self.assertEqual(1, num_ops) self.assertEqual("ops", ops_unit)
def test_query_match_all(self, es): es.search.return_value = { "timed_out": False, "took": 5, "hits": { "total": 2, "hits": [{"some-doc-1"}, {"some-doc-2"}] } } query_runner = runner.Query() params = { "index": "unittest", "type": "type", "use_request_cache": False, "body": { "query": { "match_all": {} } } } with query_runner: result = query_runner(es, params) self.assertEqual(1, result["weight"]) self.assertEqual("ops", result["unit"]) self.assertEqual(2, result["hits"]) self.assertFalse(result["timed_out"]) self.assertEqual(5, result["took"]) self.assertFalse("error-type" in result)
def test_scroll_query_request_all_pages(self, es): # page 1 es.search.return_value = { "_scroll_id": "some-scroll-id", "hits": { "hits": [ { "some-doc-1" }, { "some-doc-2" }, { "some-doc-3" }, { "some-doc-4" } ] } } es.transport.perform_request.side_effect = [ # page 2 has no results { "_scroll_id": "some-scroll-id", "hits": { "hits": [] } }, # delete scroll id response { "acknowledged": True } ] query_runner = runner.Query() params = { "pages": "all", "items_per_page": 100, "index": "unittest", "type": "type", "use_request_cache": False, "body": { "query": { "match_all": {} } } } with query_runner: results = query_runner(es, params) self.assertEqual(2, results["weight"]) self.assertEqual(2, results["pages"]) self.assertEqual(4, results["hits"]) self.assertEqual("ops", results["unit"])
def test_scroll_query_with_explicit_number_of_pages(self, es): # page 1 es.search.return_value = { "_scroll_id": "some-scroll-id", "timed_out": False, "took": 54, "hits": { "hits": [{"some-doc-1"}, {"some-doc-2"}] } } es.transport.perform_request.side_effect = [ # page 2 { "_scroll_id": "some-scroll-id", "timed_out": True, "took": 25, "hits": { "hits": [{"some-doc-3"}] } }, # delete scroll id response { "acknowledged": True } ] query_runner = runner.Query() params = { "pages": 2, "items_per_page": 100, "index": "unittest", "type": "type", "use_request_cache": False, "body": { "query": { "match_all": {} } } } with query_runner: results = query_runner(es, params) self.assertEqual(2, results["weight"]) self.assertEqual(2, results["pages"]) self.assertEqual(3, results["hits"]) self.assertEqual(79, results["took"]) self.assertEqual("ops", results["unit"]) self.assertTrue(results["timed_out"]) self.assertFalse("error-type" in results)
def test_scroll_query_only_one_page_only_request_body_defined(self, es): # page 1 es.search.return_value = { "_scroll_id": "some-scroll-id", "took": 4, "timed_out": False, "hits": { "hits": [{"some-doc-1"}, {"some-doc-2"}] } } es.transport.perform_request.side_effect = [ # delete scroll id response { "acknowledged": True } ] query_runner = runner.Query() params = { "pages": 1, "items_per_page": 100, "body": { "query": { "match_all": {} } } } with query_runner: results = query_runner(es, params) self.assertEqual(1, results["weight"]) self.assertEqual(1, results["pages"]) self.assertEqual(2, results["hits"]) self.assertEqual(4, results["took"]) self.assertEqual("ops", results["unit"]) self.assertFalse(results["timed_out"]) self.assertFalse("error-type" in results)