diff options
| author | Xavier Ordoquy | 2014-03-07 16:11:51 +0100 | 
|---|---|---|
| committer | Xavier Ordoquy | 2014-03-07 16:11:51 +0100 | 
| commit | 0e677e9dd178ae7a0250829729a666b54f4eac61 (patch) | |
| tree | 54678f5837685c73183f192011157ae9cea556e2 | |
| parent | 6cf19fa4ef1942c84546322aedd371ba87c0ed5f (diff) | |
| download | django-rest-framework-0e677e9dd178ae7a0250829729a666b54f4eac61.tar.bz2 | |
Reintroduced url arguments in the urls for the tests.
| -rw-r--r-- | rest_framework/test.py | 4 | ||||
| -rw-r--r-- | rest_framework/tests/test_testing.py | 10 | 
2 files changed, 14 insertions, 0 deletions
| diff --git a/rest_framework/test.py b/rest_framework/test.py index 75cb4d0b..df5a5b3b 100644 --- a/rest_framework/test.py +++ b/rest_framework/test.py @@ -76,6 +76,10 @@ class APIRequestFactory(DjangoRequestFactory):          r = {              'QUERY_STRING': urlencode(data or {}, doseq=True),          } +        # Fix to support old behavior where you have the arguments in the url +        # See #1461 +        if not data and '?' in path: +            r['QUERY_STRING'] = path.split('?')[1]          r.update(extra)          return self.generic('GET', path, **r) diff --git a/rest_framework/tests/test_testing.py b/rest_framework/tests/test_testing.py index 71bd8b55..a55d4b22 100644 --- a/rest_framework/tests/test_testing.py +++ b/rest_framework/tests/test_testing.py @@ -152,3 +152,13 @@ class TestAPIRequestFactory(TestCase):          simple_png.name = 'test.png'          factory = APIRequestFactory()          factory.post('/', data={'image': simple_png}) + +    def test_request_factory_url_arguments(self): +        """ +        This is a non regression test against #1461 +        """ +        factory = APIRequestFactory() +        request = factory.get('/view/?demo=test') +        self.assertEqual(dict(request.GET), {'demo': ['test']}) +        request = factory.get('/view/', {'demo': 'test'}) +        self.assertEqual(dict(request.GET), {'demo': ['test']}) | 
