diff options
| author | Malcolm Tredinnick <malcolm.tredinnick@gmail.com> | 2008-10-07 09:23:40 +0000 |
|---|---|---|
| committer | Malcolm Tredinnick <malcolm.tredinnick@gmail.com> | 2008-10-07 09:23:40 +0000 |
| commit | cd8eeaacf53677044eb8022220ef5939a91228ae (patch) | |
| tree | 67808ebbdf8de780f7c2669c31bac7aff45bfa70 /tests | |
| parent | 30b568226f86f268628ac40890a8fa40c4db0b97 (diff) | |
Fixed #5888 -- Added methods to the test client to support HEAD, PUT, DELETE
and OPTIONS support. Thanks Scott Barr and Leah Culver.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@9188 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/regressiontests/test_client_regress/models.py | 40 | ||||
| -rw-r--r-- | tests/regressiontests/test_client_regress/urls.py | 1 | ||||
| -rw-r--r-- | tests/regressiontests/test_client_regress/views.py | 4 |
3 files changed, 44 insertions, 1 deletions
diff --git a/tests/regressiontests/test_client_regress/models.py b/tests/regressiontests/test_client_regress/models.py index 1bffc7d225..5a3489040a 100644 --- a/tests/regressiontests/test_client_regress/models.py +++ b/tests/regressiontests/test_client_regress/models.py @@ -382,4 +382,42 @@ class SessionTests(TestCase): response = self.client.get('/test_client_regress/check_session/') self.assertEqual(response.status_code, 200) self.assertEqual(response.content, 'YES') -
\ No newline at end of file + +class RequestMethodTests(TestCase): + def test_get(self): + "Request a view via request method GET" + response = self.client.get('/test_client_regress/request_methods/') + self.assertEqual(response.status_code, 200) + self.assertEqual(response.content, 'request method: GET') + + def test_post(self): + "Request a view via request method POST" + response = self.client.post('/test_client_regress/request_methods/') + self.assertEqual(response.status_code, 200) + self.assertEqual(response.content, 'request method: POST') + + def test_head(self): + "Request a view via request method HEAD" + response = self.client.head('/test_client_regress/request_methods/') + self.assertEqual(response.status_code, 200) + # A HEAD request doesn't return any content. + self.assertNotEqual(response.content, 'request method: HEAD') + self.assertEqual(response.content, '') + + def test_options(self): + "Request a view via request method OPTIONS" + response = self.client.options('/test_client_regress/request_methods/') + self.assertEqual(response.status_code, 200) + self.assertEqual(response.content, 'request method: OPTIONS') + + def test_put(self): + "Request a view via request method PUT" + response = self.client.put('/test_client_regress/request_methods/') + self.assertEqual(response.status_code, 200) + self.assertEqual(response.content, 'request method: PUT') + + def test_delete(self): + "Request a view via request method DELETE" + response = self.client.delete('/test_client_regress/request_methods/') + self.assertEqual(response.status_code, 200) + self.assertEqual(response.content, 'request method: DELETE') diff --git a/tests/regressiontests/test_client_regress/urls.py b/tests/regressiontests/test_client_regress/urls.py index ca21e18817..016a95170e 100644 --- a/tests/regressiontests/test_client_regress/urls.py +++ b/tests/regressiontests/test_client_regress/urls.py @@ -9,4 +9,5 @@ urlpatterns = patterns('', (r'^login_protected_redirect_view/$', views.login_protected_redirect_view), (r'^set_session/$', views.set_session_view), (r'^check_session/$', views.check_session_view), + (r'^request_methods/$', views.request_methods_view), ) diff --git a/tests/regressiontests/test_client_regress/views.py b/tests/regressiontests/test_client_regress/views.py index 9cd786d86b..b3e5499d98 100644 --- a/tests/regressiontests/test_client_regress/views.py +++ b/tests/regressiontests/test_client_regress/views.py @@ -43,3 +43,7 @@ def set_session_view(request): def check_session_view(request): "A view that reads a session variable" return HttpResponse(request.session.get('session_var', 'NO')) + +def request_methods_view(request): + "A view that responds with the request method" + return HttpResponse('request method: %s' % request.method)
\ No newline at end of file |
