mirror of
https://github.com/django/django.git
synced 2025-08-04 19:08:28 +00:00
Fixed #27820 -- Fixed RequestDataTooBig/TooManyFieldsSent crash.
This commit is contained in:
parent
3effe3a9c6
commit
2f10216f84
3 changed files with 39 additions and 1 deletions
27
tests/handlers/test_exception.py
Normal file
27
tests/handlers/test_exception.py
Normal file
|
@ -0,0 +1,27 @@
|
|||
from django.core.handlers.wsgi import WSGIHandler
|
||||
from django.test import SimpleTestCase, override_settings
|
||||
from django.test.client import FakePayload
|
||||
|
||||
|
||||
class ExceptionHandlerTests(SimpleTestCase):
|
||||
|
||||
def get_suspicious_environ(self):
|
||||
payload = FakePayload('a=1&a=2;a=3\r\n')
|
||||
return {
|
||||
'REQUEST_METHOD': 'POST',
|
||||
'CONTENT_TYPE': 'application/x-www-form-urlencoded',
|
||||
'CONTENT_LENGTH': len(payload),
|
||||
'wsgi.input': payload,
|
||||
'SERVER_NAME': 'test',
|
||||
'SERVER_PORT': '8000',
|
||||
}
|
||||
|
||||
@override_settings(DATA_UPLOAD_MAX_MEMORY_SIZE=12)
|
||||
def test_data_upload_max_memory_size_exceeded(self):
|
||||
response = WSGIHandler()(self.get_suspicious_environ(), lambda *a, **k: None)
|
||||
self.assertEqual(response.status_code, 400)
|
||||
|
||||
@override_settings(DATA_UPLOAD_MAX_NUMBER_FIELDS=2)
|
||||
def test_data_upload_max_number_fields_exceeded(self):
|
||||
response = WSGIHandler()(self.get_suspicious_environ(), lambda *a, **k: None)
|
||||
self.assertEqual(response.status_code, 400)
|
Loading…
Add table
Add a link
Reference in a new issue