aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Ordoquy2014-03-07 16:11:51 +0100
committerXavier Ordoquy2014-03-07 16:11:51 +0100
commit0e677e9dd178ae7a0250829729a666b54f4eac61 (patch)
tree54678f5837685c73183f192011157ae9cea556e2
parent6cf19fa4ef1942c84546322aedd371ba87c0ed5f (diff)
downloaddjango-rest-framework-0e677e9dd178ae7a0250829729a666b54f4eac61.tar.bz2
Reintroduced url arguments in the urls for the tests.
-rw-r--r--rest_framework/test.py4
-rw-r--r--rest_framework/tests/test_testing.py10
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']})