1
0
mirror of https://github.com/django/django.git synced 2025-03-24 16:20:46 +00:00
django/tests/handlers/test_exception.py
amalia b54fff2938 [1.11.x] Fixed #27820 -- Fixed RequestDataTooBig/TooManyFieldsSent crash.
Backport of 2f10216f84b55920de25422842a66260219e393f from master
2017-02-13 16:43:23 -05:00

28 lines
1.0 KiB
Python

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)