Skip to content

Commit 9d5b667

Browse files
committed
Merge branch 'hotfix/2.4.7' into develop
2 parents fd79f14 + d724eb9 commit 9d5b667

File tree

3 files changed

+28
-2
lines changed

3 files changed

+28
-2
lines changed

api/pagination.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,21 @@
1+
import logging
2+
13
from django.core.paginator import Paginator
24
from django.utils.functional import cached_property
35

46
from rest_framework_json_api.pagination import PageNumberPagination
57

68

9+
logger = logging.getLogger(__name__)
10+
11+
712
class FuzzyPaginator(Paginator):
813

914
@cached_property
1015
def count(self):
16+
if not hasattr(self.object_list, 'fuzzy_count'):
17+
logger.warning('%r has no fuzzy_count method. Falling back to a normal count', self.object_list)
18+
return self.object_list.count()
1119
return self.object_list.fuzzy_count()
1220

1321

api/views/banner.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
from rest_framework import viewsets
2-
from rest_framework_json_api.pagination import PageNumberPagination
32

43
from api.serializers import SiteBannerSerializer
54
from share.models import SiteBanner
@@ -8,7 +7,6 @@
87
class SiteBannerViewSet(viewsets.ReadOnlyModelViewSet):
98
"""View showing all active site-wide announcements."""
109
serializer_class = SiteBannerSerializer
11-
pagination_class = PageNumberPagination
1210

1311
def get_queryset(self):
1412
return SiteBanner.objects.filter(active=True)

tests/api/test_providerregistration.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,3 +309,23 @@ def test_post_data(self, trusted_user, client, _request, response, authorized):
309309
@pytest.mark.django_db
310310
def test_get_data(self, client):
311311
assert client.get('/api/v2/sourceregistrations/').status_code == 401
312+
313+
@pytest.mark.django_db
314+
def test_get_data_authorized(self, trusted_user, client):
315+
resp = client.get(
316+
'/api/v2/sourceregistrations/',
317+
content_type='application/vnd.api+json',
318+
HTTP_AUTHORIZATION='Bearer {}'.format(trusted_user.accesstoken_set.first()),
319+
)
320+
321+
assert resp.status_code == 200
322+
assert resp.json() == {
323+
'data': [],
324+
'links': {
325+
'prev': None,
326+
'next': None,
327+
'last': 'http://testserver/api/v2/sourceregistrations/?page=1',
328+
'first': 'http://testserver/api/v2/sourceregistrations/?page=1',
329+
},
330+
'meta': {'pagination': {'count': 0, 'page': 1, 'pages': 1}}
331+
}

0 commit comments

Comments
 (0)