From cc93eb24575b30b1cbaf42f7da2a2280b7377d41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B3n=20Levy?= Date: Sun, 14 Apr 2019 12:38:35 +0000 Subject: [PATCH] added test_search_field_with_breaking_params --- tests/test_filters.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/tests/test_filters.py b/tests/test_filters.py index a53fa192a..394aa1dc3 100644 --- a/tests/test_filters.py +++ b/tests/test_filters.py @@ -10,7 +10,7 @@ from django.test import TestCase from django.test.utils import override_settings from django.utils.six.moves import reload_module -from rest_framework import filters, generics, serializers +from rest_framework import filters, generics, serializers, viewsets from rest_framework.compat import coreschema from rest_framework.test import APIRequestFactory @@ -182,6 +182,18 @@ class SearchFilterTests(TestCase): {'id': 3, 'title': 'zzz', 'text': 'cde'} ] + def test_search_field_with_breaking_params(self): + class SearchListViewSet(viewsets.ReadOnlyModelViewSet): + queryset = SearchFilterModel.objects.all() + serializer_class = SearchFilterSerializer + filter_backends = (filters.SearchFilter,) + search_fields = ('title', 'text') + + view = SearchListViewSet.as_view({'get': 'list'}) + request = factory.get('/', {'search': ',,,,'}) + response = view(request) + assert len(response.data) == 0 + class AttributeModel(models.Model): label = models.CharField(max_length=32)