aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/tests/reverse.py
diff options
context:
space:
mode:
Diffstat (limited to 'rest_framework/tests/reverse.py')
-rw-r--r--rest_framework/tests/reverse.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/rest_framework/tests/reverse.py b/rest_framework/tests/reverse.py
new file mode 100644
index 00000000..4027e42f
--- /dev/null
+++ b/rest_framework/tests/reverse.py
@@ -0,0 +1,35 @@
+from django.conf.urls.defaults import patterns, url
+from django.test import TestCase
+from django.utils import simplejson as json
+
+from rest_framework.renderers import JSONRenderer
+from rest_framework.reverse import reverse
+from rest_framework.views import APIView
+from rest_framework.response import Response
+
+
+class MyView(APIView):
+ """
+ Mock resource which simply returns a URL, so that we can ensure
+ that reversed URLs are fully qualified.
+ """
+ renderers = (JSONRenderer, )
+
+ def get(self, request):
+ return Response(reverse('myview', request=request))
+
+
+urlpatterns = patterns('',
+ url(r'^myview$', MyView.as_view(), name='myview'),
+)
+
+
+class ReverseTests(TestCase):
+ """
+ Tests for fully qualifed URLs when using `reverse`.
+ """
+ urls = 'rest_framework.tests.reverse'
+
+ def test_reversed_urls_are_fully_qualified(self):
+ response = self.client.get('/myview')
+ self.assertEqual(json.loads(response.content), 'http://testserver/myview')