コード例 #1
0
    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)
コード例 #2
0
    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)
コード例 #3
0
    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"])
コード例 #4
0
    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)
コード例 #5
0
    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)