mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-05 04:50:12 +03:00
[DONT MERGE] Failing test to illustrate #2333
This commit is contained in:
parent
e6041f9c3e
commit
00b92ee949
32
tests/namespaced_urls.py
Normal file
32
tests/namespaced_urls.py
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
from django.conf.urls import url, include
|
||||||
|
from django.db import models
|
||||||
|
|
||||||
|
from rest_framework import serializers, viewsets, routers
|
||||||
|
|
||||||
|
|
||||||
|
class NamespacedRouterTestModel(models.Model):
|
||||||
|
uuid = models.CharField(max_length=20)
|
||||||
|
text = models.CharField(max_length=200)
|
||||||
|
|
||||||
|
|
||||||
|
class NoteSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
|
url = serializers.HyperlinkedIdentityField(view_name='api-namespace:routertestmodel-detail', lookup_field='uuid')
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = NamespacedRouterTestModel
|
||||||
|
fields = ('url', 'uuid', 'text')
|
||||||
|
|
||||||
|
|
||||||
|
class NoteViewSet(viewsets.ModelViewSet):
|
||||||
|
queryset = NamespacedRouterTestModel.objects.all()
|
||||||
|
serializer_class = NoteSerializer
|
||||||
|
lookup_field = 'uuid'
|
||||||
|
|
||||||
|
router = routers.DefaultRouter()
|
||||||
|
|
||||||
|
router.register(r'note', NoteViewSet)
|
||||||
|
|
||||||
|
|
||||||
|
urlpatterns = [
|
||||||
|
url('^namespaced-api/', include(router.urls, namespace='api-namespace')),
|
||||||
|
]
|
|
@ -321,3 +321,13 @@ class TestRootWithAListlessViewset(TestCase):
|
||||||
request = factory.get('/')
|
request = factory.get('/')
|
||||||
response = self.view(request)
|
response = self.view(request)
|
||||||
self.assertEqual(response.data, {})
|
self.assertEqual(response.data, {})
|
||||||
|
|
||||||
|
|
||||||
|
class TestNamespacedDefaultRouter(TestCase):
|
||||||
|
urls = 'tests.namespaced_urls'
|
||||||
|
|
||||||
|
def test_api_root(self):
|
||||||
|
from django.core.urlresolvers import reverse
|
||||||
|
url = reverse('api-namespace:api-root')
|
||||||
|
response = self.client.get(url)
|
||||||
|
self.assertEqual(response.data['note'], 'http://testserver/namespaced-api/note/')
|
||||||
|
|
Loading…
Reference in New Issue
Block a user