Skip to content

Commit cc315d2

Browse files
Testing utils
1 parent ae293ac commit cc315d2

24 files changed

+143
-162
lines changed

examples/simple/search_indexes/urls.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
BookOrderingByScoreCompoundSearchBackendDocumentViewSet,
2020
BookOrderingByScoreDocumentViewSet,
2121
BookPermissionsDocumentViewSet,
22+
BookNoPermissionsDocumentViewSet,
23+
BookNoRecordsDocumentViewSet,
2224
BookSimpleQueryStringBoostSearchFilterBackendDocumentViewSet,
2325
BookSimpleQueryStringSearchFilterBackendDocumentViewSet,
2426
BookSourceSearchBackendDocumentViewSet,
@@ -108,6 +110,18 @@
108110
basename='bookdocument_permissions'
109111
)
110112

113+
router.register(
114+
r'books-no-permissions',
115+
BookNoPermissionsDocumentViewSet,
116+
basename='bookdocument_no_permissions'
117+
)
118+
119+
router.register(
120+
r'books-no-records',
121+
BookNoRecordsDocumentViewSet,
122+
basename='bookdocument_no_records'
123+
)
124+
111125
router.register(
112126
r'books-custom',
113127
BookCustomDocumentViewSet,

examples/simple/search_indexes/viewsets/__init__.py

Lines changed: 10 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,11 @@
1-
from .address import AddressDocumentViewSet, FrontAddressDocumentViewSet
2-
from .author import AuthorDocumentViewSet
3-
from .book import (
4-
BookCompoundFuzzySearchBackendDocumentViewSet,
5-
BookCompoundSearchBackendDocumentViewSet,
6-
BookCompoundSearchBoostSearchBackendDocumentViewSet,
7-
BookCustomDocumentViewSet,
8-
BookDefaultFilterLookupDocumentViewSet,
9-
BookDocumentViewSet,
10-
BookFrontendDocumentViewSet,
11-
BookFunctionalSuggesterDocumentViewSet,
12-
BookIgnoreIndexErrorsDocumentViewSet,
13-
BookMoreLikeThisDocumentViewSet,
14-
BookMoreLikeThisNoOptionsDocumentViewSet,
15-
BookMultiMatchOptionsPhasePrefixSearchFilterBackendDocumentViewSet,
16-
BookMultiMatchSearchFilterBackendDocumentViewSet,
17-
BookOrderingByScoreCompoundSearchBackendDocumentViewSet,
18-
BookOrderingByScoreDocumentViewSet,
19-
BookPermissionsDocumentViewSet,
20-
BookSimpleQueryStringBoostSearchFilterBackendDocumentViewSet,
21-
BookSimpleQueryStringSearchFilterBackendDocumentViewSet,
22-
BookSourceSearchBackendDocumentViewSet,
23-
QueryFriendlyPaginationBookDocumentViewSet,
24-
)
25-
from .city import CityDocumentViewSet, CityCompoundSearchBackendDocumentViewSet
26-
from .journal import JournalDocumentViewSet
27-
from .location import LocationDocumentViewSet
28-
from .publisher import PublisherDocumentViewSet
29-
from .tag import TagDocumentViewSet
1+
from .address import *
2+
from .author import *
3+
from .book import *
4+
from .city import *
5+
from .journal import *
6+
from .location import *
7+
from .publisher import *
8+
from .tag import *
309

3110
__all__ = (
3211
'AddressDocumentViewSet',
@@ -47,6 +26,8 @@
4726
'BookOrderingByScoreCompoundSearchBackendDocumentViewSet',
4827
'BookOrderingByScoreDocumentViewSet',
4928
'BookPermissionsDocumentViewSet',
29+
'BookNoPermissionsDocumentViewSet',
30+
'BookNoRecordsDocumentViewSet',
5031
'BookSimpleQueryStringBoostSearchFilterBackendDocumentViewSet',
5132
'BookSimpleQueryStringSearchFilterBackendDocumentViewSet',
5233
'BookSourceSearchBackendDocumentViewSet',

examples/simple/search_indexes/viewsets/book/permissions.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
DocumentViewSet,
3232
)
3333
from django_elasticsearch_dsl_drf.pagination import PageNumberPagination
34+
from django_elasticsearch_dsl_drf.utils import EmptySearch
3435

3536
from elasticsearch_dsl import DateHistogramFacet, RangeFacet
3637

@@ -42,6 +43,8 @@
4243

4344
__all__ = (
4445
'BookPermissionsDocumentViewSet',
46+
'BookNoPermissionsDocumentViewSet',
47+
'BookNoRecordsDocumentViewSet',
4548
)
4649

4750

@@ -60,6 +63,21 @@ def has_object_permission(self, request, view, obj):
6063
return False
6164

6265

66+
class CustomNoPermission(BasePermission):
67+
68+
def has_permission(self, request, view):
69+
"""
70+
Return `True` if permission is granted, `False` otherwise.
71+
"""
72+
return False
73+
74+
def has_object_permission(self, request, view, obj):
75+
"""
76+
Return `True` if permission is granted, `False` otherwise.
77+
"""
78+
return False
79+
80+
6381
class CustomPageNumberPagination(PageNumberPagination):
6482
"""This is needed in order to make page size customisation possible."""
6583

@@ -331,3 +349,14 @@ class BookPermissionsDocumentViewSet(DocumentViewSet):
331349
'tag_suggest': 'tags.suggest',
332350
'summary_suggest': 'summary',
333351
}
352+
353+
354+
class BookNoPermissionsDocumentViewSet(BookPermissionsDocumentViewSet):
355+
permission_classes = (CustomNoPermission,)
356+
357+
358+
class BookNoRecordsDocumentViewSet(BookPermissionsDocumentViewSet):
359+
def get_queryset(self):
360+
queryset = EmptySearch()
361+
queryset.model = self.document.Django.model
362+
return queryset

src/django_elasticsearch_dsl_drf/tests/data_mixins.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,11 @@
66

77
import uuid
88

9-
from nine.versions import DJANGO_GTE_1_10
9+
from django.urls import reverse
1010

1111
from books import constants
1212
import factories
1313

14-
if DJANGO_GTE_1_10:
15-
from django.urls import reverse
16-
else:
17-
from django.core.urlresolvers import reverse
18-
1914
__title__ = 'django_elasticsearch_dsl_drf.tests.data_mixins'
2015
__author__ = 'Artur Barseghyan <[email protected]>'
2116
__copyright__ = '2017-2020 Artur Barseghyan'

src/django_elasticsearch_dsl_drf/tests/test_faceted_search.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@
77
import unittest
88

99
from django.core.management import call_command
10-
11-
from nine.versions import DJANGO_GTE_1_10
10+
from django.urls import reverse
1211

1312
import pytest
1413

@@ -19,11 +18,6 @@
1918

2019
from .base import BaseRestFrameworkTestCase
2120

22-
if DJANGO_GTE_1_10:
23-
from django.urls import reverse
24-
else:
25-
from django.core.urlresolvers import reverse
26-
2721
__title__ = 'django_elasticsearch_dsl_drf.tests.test_faceted_search'
2822
__author__ = 'Artur Barseghyan <[email protected]>'
2923
__copyright__ = '2017-2020 Artur Barseghyan'

src/django_elasticsearch_dsl_drf/tests/test_filtering_common.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@
77
import unittest
88

99
from django.core.management import call_command
10-
11-
from nine.versions import DJANGO_GTE_1_10
10+
from django.urls import reverse
1211

1312
import pytest
1413

@@ -32,11 +31,6 @@
3231
)
3332
from .data_mixins import AddressesMixin, BooksMixin
3433

35-
if DJANGO_GTE_1_10:
36-
from django.urls import reverse
37-
else:
38-
from django.core.urlresolvers import reverse
39-
4034
__title__ = 'django_elasticsearch_dsl_drf.tests.test_filtering_common'
4135
__author__ = 'Artur Barseghyan <[email protected]>'
4236
__copyright__ = '2017-2020 Artur Barseghyan'

src/django_elasticsearch_dsl_drf/tests/test_filtering_geo_spatial.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,10 @@
77
import unittest
88

99
from django.core.management import call_command
10+
from django.urls import reverse
1011

1112
from elasticsearch.connection.base import TransportError
1213

13-
from nine.versions import DJANGO_GTE_1_10
14-
1514
import pytest
1615

1716
from rest_framework import status
@@ -21,11 +20,6 @@
2120
from ..constants import SEPARATOR_LOOKUP_COMPLEX_VALUE
2221
from .base import BaseRestFrameworkTestCase
2322

24-
if DJANGO_GTE_1_10:
25-
from django.urls import reverse
26-
else:
27-
from django.core.urlresolvers import reverse
28-
2923
__title__ = 'django_elasticsearch_dsl_drf.tests.test_filtering_geo_spatial'
3024
__author__ = 'Artur Barseghyan <[email protected]>'
3125
__copyright__ = '2017-2020 Artur Barseghyan'

src/django_elasticsearch_dsl_drf/tests/test_filtering_global_aggregations.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@
77
import unittest
88

99
from django.core.management import call_command
10-
11-
from nine.versions import DJANGO_GTE_1_10
10+
from django.urls import reverse
1211

1312
import pytest
1413

@@ -20,11 +19,6 @@
2019
from .base import BaseRestFrameworkTestCase
2120
from .data_mixins import AddressesMixin, BooksMixin
2221

23-
if DJANGO_GTE_1_10:
24-
from django.urls import reverse
25-
else:
26-
from django.core.urlresolvers import reverse
27-
2822
__title__ = 'django_elasticsearch_dsl_drf.tests.test_filtering_post'
2923
__author__ = 'Artur Barseghyan <[email protected]>'
3024
__copyright__ = '2017-2020 Artur Barseghyan'

src/django_elasticsearch_dsl_drf/tests/test_filtering_post_filter.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@
77
import unittest
88

99
from django.core.management import call_command
10-
11-
from nine.versions import DJANGO_GTE_1_10
10+
from django.urls import reverse
1211

1312
import pytest
1413

@@ -26,11 +25,6 @@
2625
)
2726
from .data_mixins import AddressesMixin, BooksMixin
2827

29-
if DJANGO_GTE_1_10:
30-
from django.urls import reverse
31-
else:
32-
from django.core.urlresolvers import reverse
33-
3428
__title__ = 'django_elasticsearch_dsl_drf.tests.test_filtering_post'
3529
__author__ = 'Artur Barseghyan <[email protected]>'
3630
__copyright__ = '2017-2020 Artur Barseghyan'

src/django_elasticsearch_dsl_drf/tests/test_functional_suggesters.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@
88
import unittest
99

1010
from django.core.management import call_command
11-
12-
from nine.versions import DJANGO_GTE_1_10
11+
from django.urls import reverse
1312

1413
import pytest
1514

@@ -20,11 +19,6 @@
2019
from .base import BaseRestFrameworkTestCase
2120
from .data_mixins import AddressesMixin
2221

23-
if DJANGO_GTE_1_10:
24-
from django.urls import reverse
25-
else:
26-
from django.core.urlresolvers import reverse
27-
2822
__title__ = 'django_elasticsearch_dsl_drf.tests.test_suggesters'
2923
__author__ = 'Artur Barseghyan <[email protected]>'
3024
__copyright__ = '2017-2020 Artur Barseghyan'

0 commit comments

Comments
 (0)