mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
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/branches/releases/1.0.X@9186 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
@@ -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')
|
||||
|
||||
|
||||
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')
|
||||
|
||||
@@ -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),
|
||||
)
|
||||
|
||||
@@ -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)
|
||||
Reference in New Issue
Block a user