diff options
Diffstat (limited to 'rest_framework/tests/reverse.py')
| -rw-r--r-- | rest_framework/tests/reverse.py | 35 | 
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') | 
