Example #1
0
 def test_get_es_filter_fields(self):
     view = ElasticAPIView()
     view.es_filter_backends = (ElasticFieldsFilter, )
     view.es_filter_fields = (ESFieldFilter('score'),
                              ESFieldFilter('description'))
     self.inspector.view = view
     for fields in (self.inspector.get_es_filter_fields('/', 'GET'),
                    self.inspector.get_filter_fields('/', 'GET')):
         field_names = [field.name for field in fields]
         assert sorted(field_names) == ['description', 'score']
Example #2
0
    def create_view(self, es_client):
        """Create and return test view class instance

        Args:
            es_client (Elasticsearch): elasticsearch connection client
        Returns:
            ElasticAPIView: test view instance
        """
        view = ElasticAPIView()
        view.es_client = es_client
        view.es_model = DataDocType
        view.es_filter_backends = (ElasticSearchFilter, ElasticFieldsFilter,
                                   ElasticFieldsRangeFilter,
                                   ElasticOrderingFilter)
        return view
Example #3
0
 def test_get_link(self):
     view = ElasticAPIView()
     view.es_filter_backends = (ElasticFieldsFilter,
                                ElasticFieldsRangeFilter,
                                ElasticOrderingFilter, ElasticSearchFilter)
     view.es_filter_fields = (ESFieldFilter('score'),
                              ESFieldFilter('description'))
     view.es_range_filter_fields = (ESFieldFilter('date'), )
     view.es_pagination_class = es_pagination.ElasticLimitOffsetPagination
     self.inspector.view = view
     link = self.inspector.get_link('/', 'GET', 'localhost')
     field_names = [field.name for field in link.fields]
     assert sorted(field_names) == [
         'date', 'description', 'limit', 'offset', 'ordering', 'score',
         'search'
     ]