Fixed #14753 -- Fixed the test client to not raise an AssertionError when request.raw_post_data is accessed from a view it has fetched with GET. Thanks zimnyx for the report and ojii for the patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15254 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
19bfdadc43
commit
190f6e5b45
|
@ -46,7 +46,7 @@ class FakePayload(object):
|
|||
|
||||
def read(self, num_bytes=None):
|
||||
if num_bytes is None:
|
||||
num_bytes = self.__len or 1
|
||||
num_bytes = self.__len or 0
|
||||
assert self.__len >= num_bytes, "Cannot read more than the available bytes from the HTTP incoming data."
|
||||
content = self.__content.read(num_bytes)
|
||||
self.__len -= num_bytes
|
||||
|
|
|
@ -879,3 +879,12 @@ class ResponseTemplateDeprecationTests(TestCase):
|
|||
def test_response_no_template(self):
|
||||
response = self.client.get("/test_client_regress/request_methods/")
|
||||
self.assertEqual(response.template, None)
|
||||
|
||||
class RawPostDataTest(TestCase):
|
||||
"Access to request.raw_post_data from the test client."
|
||||
def test_raw_post_data(self):
|
||||
# Refs #14753
|
||||
try:
|
||||
response = self.client.get("/test_client_regress/raw_post_data/")
|
||||
except AssertionError:
|
||||
self.fail("Accessing request.raw_post_data from a view fetched with GET by the test client shouldn't fail.")
|
||||
|
|
|
@ -26,4 +26,5 @@ urlpatterns = patterns('',
|
|||
(r'^parse_unicode_json/$', views.return_json_file),
|
||||
(r'^check_headers/$', views.check_headers),
|
||||
(r'^check_headers_redirect/$', redirect_to, {'url': '/test_client_regress/check_headers/'}),
|
||||
(r'^raw_post_data/$', views.raw_post_data),
|
||||
)
|
||||
|
|
|
@ -91,3 +91,6 @@ def check_headers(request):
|
|||
"A view that responds with value of the X-ARG-CHECK header"
|
||||
return HttpResponse('HTTP_X_ARG_CHECK: %s' % request.META.get('HTTP_X_ARG_CHECK', 'Undefined'))
|
||||
|
||||
def raw_post_data(request):
|
||||
"A view that is requested with GET and accesses request.raw_post_data. Refs #14753."
|
||||
return HttpResponse(request.raw_post_data)
|
||||
|
|
Loading…
Reference in New Issue