def get_document_cls(model_name): document = Mock() if model_name == 'Assignment': document.get_es_mapping = Mock(return_value=({'Assignment': { 'properties': { 'assignee_id': {'type': 'string', 'analyzer': 'email'}, 'simple': {'type': 'string'}}}}, [])) return document if model_name == 'Task': document.get_es_mapping = Mock(return_value=({'Task': { 'properties': { 'assignee_id': {'type': 'string', 'analyzer': 'email'}, 'simple': {'type': 'string'}}}}, [])) return document
def test_apply_custom_analyzer(self): document_cls = Mock() document_cls.get_es_mapping = Mock(return_value=({'Assignment': { 'properties': { 'assignee_id': {'type': 'string', 'analyzer': 'email'}, 'simple': {'type': 'string'}}}}, [])) get_document_cls = Mock(return_value=document_cls) params = {'assignee_id': 'some_user', 'simple': 'new_value'} result = apply_analyzer(params, 'Assignment', get_document_cls) assert result == {'bool': {'must': [{'term': {'assignee_id': 'some_user'}}]}}
def get_document_cls(self, name): mock_document = Mock() mock_document.get_es_mapping = lambda: ({name: {'properties': {}}}, None) return mock_document