diff options
| author | Brandon Cazander | 2015-01-24 01:37:23 -0800 | 
|---|---|---|
| committer | Brandon Cazander | 2015-01-24 01:37:23 -0800 | 
| commit | b09ef28959fe63351f0dd24564b7d2d344b44fa3 (patch) | |
| tree | b967b42f165b02929e19962b0d2e1f4568f60d6a /tests/browsable_api/views.py | |
| parent | 8f25c0c53c24c88afc86d99bbb3ca4edc3a4e0a2 (diff) | |
| download | django-rest-framework-b09ef28959fe63351f0dd24564b7d2d344b44fa3.tar.bz2 | |
Add failing test for request.version AttributeError in BrowsableAPI.
Diffstat (limited to 'tests/browsable_api/views.py')
| -rw-r--r-- | tests/browsable_api/views.py | 27 | 
1 files changed, 27 insertions, 0 deletions
| diff --git a/tests/browsable_api/views.py b/tests/browsable_api/views.py index 000f4e80..f06f7c40 100644 --- a/tests/browsable_api/views.py +++ b/tests/browsable_api/views.py @@ -1,9 +1,14 @@  from __future__ import unicode_literals  from rest_framework.views import APIView +from rest_framework.viewsets import ModelViewSet  from rest_framework import authentication  from rest_framework import renderers  from rest_framework.response import Response +from rest_framework.renderers import BrowsableAPIRenderer, JSONRenderer +from rest_framework.versioning import NamespaceVersioning +from .models import Foo, Bar +from .serializers import FooSerializer, BarSerializer  class MockView(APIView): @@ -13,3 +18,25 @@ class MockView(APIView):      def get(self, request):          return Response({'a': 1, 'b': 2, 'c': 3}) + + +class SerializerClassMixin(object): +    def get_serializer_class(self): +        # Get base name of serializer +        self.request.version +        return self.serializer_class + + +class FooViewSet(SerializerClassMixin, ModelViewSet): +    versioning_class = NamespaceVersioning +    model = Foo +    queryset = Foo.objects.all() +    serializer_class = FooSerializer +    renderer_classes = (BrowsableAPIRenderer, JSONRenderer) + + +class BarViewSet(SerializerClassMixin, ModelViewSet): +    model = Bar +    queryset = Bar.objects.all() +    serializer_class = BarSerializer +    renderer_classes = (BrowsableAPIRenderer, ) | 
