Пример #1
0
    def test_autocomplete_queries_elastic_search(self, mock_es):
        request = testing.DummyRequest(params={'q': 'act'})
        request.context = testing.DummyResource()
        request.registry.settings['elasticsearch.index'] = 'searchable_items'
        response = search_autocomplete(request)

        mock_es.assert_called_with(body={
            "query": {
                "bool": {
                    "must": {
                        "match": {
                            "name": {
                                "query": "act",
                                "analyzer": "standard"
                            }
                        }
                    },
                    "must_not": { "match": { "category": "reference" }, "match": { "category": "download" }},
                    "should": [
                        {
                            "match": {
                                "category": {
                                    "query": "locus",
                                    "boost": 4
                                }
                            }
                        }
                    ]
                }
            }
        }, index='searchable_items')
Пример #2
0
    def test_autocomplete_should_return_empty_for_no_q(self):
        request = testing.DummyRequest()
        request.context = testing.DummyResource()
        request.registry.settings['elasticsearch.index'] = 'searchable_items'
        response = search_autocomplete(request)

        self.assertEqual(response, {"results": None})
Пример #3
0
    def test_autocomplete_queries_elastic_search(self, mock_es):
        mock_es.return_value = self.autocomplete_query_result
        
        request = testing.DummyRequest(params={'q': 'act'})
        request.context = testing.DummyResource()
        request.registry.settings['elasticsearch.index'] = 'searchable_items'
        response = search_autocomplete(request)

        self.assertEqual(response, self.autocomplete_response)