def setUp(self): self._columns = { 'f__o_o': ColumnDefinition('f__o_o', type_name='text'), 'bar': ColumnDefinition('bar', type_name='int'), 'baz': ColumnDefinition('baz', type_name='text[]'), 'quux': ColumnDefinition('quux', type_name='int') } self._fdw = ESForeignDataWrapper( { 'doc_type': 'foo_doc', 'index': 'our_index' }, self._columns) self._quals = [Qual('f__o_o', '=', 'value'), Qual('bar', '>', 5)]
def test_execute_column_name_translation(self, scan_mock, _elasticsearch_mock): columns = { 'object__nested_field': ColumnDefinition('object__nested_field', type_name='text') } fdw = ESForeignDataWrapper( { 'doc_type': 'foo_doc', 'index': 'our_index', 'column_name_translation': 'true' }, columns) quals = [Qual('object__nested_field', '=', 'value')] scan_mock.return_value = [{ 'fields': { 'object.nested-field': ['value'] } }] rows = list(fdw.execute(quals, ['object__nested_field'])) expected_query = { 'fields': ['object.nested-field'], 'query': { 'filtered': { 'filter': { 'bool': { 'must': [{ 'term': { 'object.nested-field': 'value' } }] } } } } } scan_mock.assert_called_once_with(fdw.esclient, query=expected_query, index='our_index', doc_type='foo_doc', size=fdw._SCROLL_SIZE, scroll=fdw._SCROLL_LENGTH) expected_rows = [{'object__nested_field': 'value'}] self.assertEqual(rows, expected_rows)
def setUp(self): self._fdw = ESForeignDataWrapper({'doc_type': 'foo_doc'}, [])
def setUp(self): self._fdw = ESForeignDataWrapper({'doc_type': 'foo'}, []) self._ml = MatchList()