From fc186ea23d668919af746f7713568a549f9cdc0f Mon Sep 17 00:00:00 2001 From: Alejandro Nunez Capote Date: Fri, 31 May 2019 22:16:36 -0400 Subject: [PATCH] Adding testing for `graphene_django/elasticsearch/*` --- .../elasticsearch/tests/__init__.py | 0 .../elasticsearch/tests/filters.py | 8 ++++++ .../elasticsearch/tests/test_fields.py | 27 +++++++++++++++++++ graphene_django/utils/utils.py | 2 +- setup.py | 1 + 5 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 graphene_django/elasticsearch/tests/__init__.py create mode 100644 graphene_django/elasticsearch/tests/filters.py create mode 100644 graphene_django/elasticsearch/tests/test_fields.py diff --git a/graphene_django/elasticsearch/tests/__init__.py b/graphene_django/elasticsearch/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/graphene_django/elasticsearch/tests/filters.py b/graphene_django/elasticsearch/tests/filters.py new file mode 100644 index 0000000..2cabc80 --- /dev/null +++ b/graphene_django/elasticsearch/tests/filters.py @@ -0,0 +1,8 @@ + +from graphene_django.elasticsearch.filter import filters +from graphene_django.elasticsearch.filter.filterset import FilterSetES + + +class ArticleFilterES(FilterSetES): + + headline = filters.StringFilterES(attr='headline') diff --git a/graphene_django/elasticsearch/tests/test_fields.py b/graphene_django/elasticsearch/tests/test_fields.py new file mode 100644 index 0000000..62f73d6 --- /dev/null +++ b/graphene_django/elasticsearch/tests/test_fields.py @@ -0,0 +1,27 @@ +import pytest + +from graphene_django.filter.tests.test_fields import assert_arguments, ArticleNode + +from graphene_django.elasticsearch.tests.filters import ArticleFilterES +from graphene_django.utils import DJANGO_FILTER_INSTALLED, DJANGO_ELASTICSEARCH_DSL_INSTALLED + + +pytestmark = [] + +if DJANGO_FILTER_INSTALLED and DJANGO_ELASTICSEARCH_DSL_INSTALLED: + from graphene_django.filter import ( + DjangoFilterConnectionField, + ) +else: + pytestmark.append( + pytest.mark.skipif( + True, reason="django_filters not installed or not compatible" + ) + ) + +pytestmark.append(pytest.mark.django_db) + + +def test_filter_string_fields(): + field = DjangoFilterConnectionField(ArticleNode, filterset_class=ArticleFilterES) + assert_arguments(field, "headline", "headline_term") diff --git a/graphene_django/utils/utils.py b/graphene_django/utils/utils.py index 5195e25..c15ff63 100644 --- a/graphene_django/utils/utils.py +++ b/graphene_django/utils/utils.py @@ -13,7 +13,7 @@ except ImportError: try: - import django_elasticsearch_dsl # noqa + import elasticsearch_dsl # noqa DJANGO_ELASTICSEARCH_DSL_INSTALLED = True except ImportError: diff --git a/setup.py b/setup.py index e622a71..473b041 100644 --- a/setup.py +++ b/setup.py @@ -22,6 +22,7 @@ tests_require = [ "django-filter<2;python_version<'3'", "django-filter>=2;python_version>='3'", "pytest-django>=3.3.2", + "elasticsearch-dsl<7.0", ] + rest_framework_require