diff options
| author | Tim Graham <timograham@gmail.com> | 2023-01-07 05:41:40 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-07 11:41:40 +0100 |
| commit | 016bead6a23989adec5c7ee6948db7ce2fc5e89b (patch) | |
| tree | 5eac2d287ff7a020ff44c48cc539339e028cfaeb /tests/requests/test_data_upload_settings.py | |
| parent | d5f892d873c6f98178121214f3c00d284ae1296d (diff) | |
Renamed 'requests' test package.
This avoids a collision when third-party database backends depend on the
Requests HTTP library.
Diffstat (limited to 'tests/requests/test_data_upload_settings.py')
| -rw-r--r-- | tests/requests/test_data_upload_settings.py | 217 |
1 files changed, 0 insertions, 217 deletions
diff --git a/tests/requests/test_data_upload_settings.py b/tests/requests/test_data_upload_settings.py deleted file mode 100644 index 0199296293..0000000000 --- a/tests/requests/test_data_upload_settings.py +++ /dev/null @@ -1,217 +0,0 @@ -from io import BytesIO - -from django.core.exceptions import RequestDataTooBig, TooManyFieldsSent -from django.core.handlers.wsgi import WSGIRequest -from django.test import SimpleTestCase -from django.test.client import FakePayload - -TOO_MANY_FIELDS_MSG = ( - "The number of GET/POST parameters exceeded settings.DATA_UPLOAD_MAX_NUMBER_FIELDS." -) -TOO_MUCH_DATA_MSG = "Request body exceeded settings.DATA_UPLOAD_MAX_MEMORY_SIZE." - - -class DataUploadMaxMemorySizeFormPostTests(SimpleTestCase): - def setUp(self): - payload = FakePayload("a=1&a=2&a=3\r\n") - self.request = WSGIRequest( - { - "REQUEST_METHOD": "POST", - "CONTENT_TYPE": "application/x-www-form-urlencoded", - "CONTENT_LENGTH": len(payload), - "wsgi.input": payload, - } - ) - - def test_size_exceeded(self): - with self.settings(DATA_UPLOAD_MAX_MEMORY_SIZE=12): - with self.assertRaisesMessage(RequestDataTooBig, TOO_MUCH_DATA_MSG): - self.request._load_post_and_files() - - def test_size_not_exceeded(self): - with self.settings(DATA_UPLOAD_MAX_MEMORY_SIZE=13): - self.request._load_post_and_files() - - def test_no_limit(self): - with self.settings(DATA_UPLOAD_MAX_MEMORY_SIZE=None): - self.request._load_post_and_files() - - -class DataUploadMaxMemorySizeMultipartPostTests(SimpleTestCase): - def setUp(self): - payload = FakePayload( - "\r\n".join( - [ - "--boundary", - 'Content-Disposition: form-data; name="name"', - "", - "value", - "--boundary--", - ] - ) - ) - self.request = WSGIRequest( - { - "REQUEST_METHOD": "POST", - "CONTENT_TYPE": "multipart/form-data; boundary=boundary", - "CONTENT_LENGTH": len(payload), - "wsgi.input": payload, - } - ) - - def test_size_exceeded(self): - with self.settings(DATA_UPLOAD_MAX_MEMORY_SIZE=10): - with self.assertRaisesMessage(RequestDataTooBig, TOO_MUCH_DATA_MSG): - self.request._load_post_and_files() - - def test_size_not_exceeded(self): - with self.settings(DATA_UPLOAD_MAX_MEMORY_SIZE=11): - self.request._load_post_and_files() - - def test_no_limit(self): - with self.settings(DATA_UPLOAD_MAX_MEMORY_SIZE=None): - self.request._load_post_and_files() - - def test_file_passes(self): - payload = FakePayload( - "\r\n".join( - [ - "--boundary", - 'Content-Disposition: form-data; name="file1"; ' - 'filename="test.file"', - "", - "value", - "--boundary--", - ] - ) - ) - request = WSGIRequest( - { - "REQUEST_METHOD": "POST", - "CONTENT_TYPE": "multipart/form-data; boundary=boundary", - "CONTENT_LENGTH": len(payload), - "wsgi.input": payload, - } - ) - with self.settings(DATA_UPLOAD_MAX_MEMORY_SIZE=1): - request._load_post_and_files() - self.assertIn("file1", request.FILES, "Upload file not present") - - -class DataUploadMaxMemorySizeGetTests(SimpleTestCase): - def setUp(self): - self.request = WSGIRequest( - { - "REQUEST_METHOD": "GET", - "wsgi.input": BytesIO(b""), - "CONTENT_LENGTH": 3, - } - ) - - def test_data_upload_max_memory_size_exceeded(self): - with self.settings(DATA_UPLOAD_MAX_MEMORY_SIZE=2): - with self.assertRaisesMessage(RequestDataTooBig, TOO_MUCH_DATA_MSG): - self.request.body - - def test_size_not_exceeded(self): - with self.settings(DATA_UPLOAD_MAX_MEMORY_SIZE=3): - self.request.body - - def test_no_limit(self): - with self.settings(DATA_UPLOAD_MAX_MEMORY_SIZE=None): - self.request.body - - def test_empty_content_length(self): - self.request.environ["CONTENT_LENGTH"] = "" - self.request.body - - -class DataUploadMaxNumberOfFieldsGet(SimpleTestCase): - def test_get_max_fields_exceeded(self): - with self.settings(DATA_UPLOAD_MAX_NUMBER_FIELDS=1): - with self.assertRaisesMessage(TooManyFieldsSent, TOO_MANY_FIELDS_MSG): - request = WSGIRequest( - { - "REQUEST_METHOD": "GET", - "wsgi.input": BytesIO(b""), - "QUERY_STRING": "a=1&a=2&a=3", - } - ) - request.GET["a"] - - def test_get_max_fields_not_exceeded(self): - with self.settings(DATA_UPLOAD_MAX_NUMBER_FIELDS=3): - request = WSGIRequest( - { - "REQUEST_METHOD": "GET", - "wsgi.input": BytesIO(b""), - "QUERY_STRING": "a=1&a=2&a=3", - } - ) - request.GET["a"] - - -class DataUploadMaxNumberOfFieldsMultipartPost(SimpleTestCase): - def setUp(self): - payload = FakePayload( - "\r\n".join( - [ - "--boundary", - 'Content-Disposition: form-data; name="name1"', - "", - "value1", - "--boundary", - 'Content-Disposition: form-data; name="name2"', - "", - "value2", - "--boundary--", - ] - ) - ) - self.request = WSGIRequest( - { - "REQUEST_METHOD": "POST", - "CONTENT_TYPE": "multipart/form-data; boundary=boundary", - "CONTENT_LENGTH": len(payload), - "wsgi.input": payload, - } - ) - - def test_number_exceeded(self): - with self.settings(DATA_UPLOAD_MAX_NUMBER_FIELDS=1): - with self.assertRaisesMessage(TooManyFieldsSent, TOO_MANY_FIELDS_MSG): - self.request._load_post_and_files() - - def test_number_not_exceeded(self): - with self.settings(DATA_UPLOAD_MAX_NUMBER_FIELDS=2): - self.request._load_post_and_files() - - def test_no_limit(self): - with self.settings(DATA_UPLOAD_MAX_NUMBER_FIELDS=None): - self.request._load_post_and_files() - - -class DataUploadMaxNumberOfFieldsFormPost(SimpleTestCase): - def setUp(self): - payload = FakePayload("\r\n".join(["a=1&a=2&a=3", ""])) - self.request = WSGIRequest( - { - "REQUEST_METHOD": "POST", - "CONTENT_TYPE": "application/x-www-form-urlencoded", - "CONTENT_LENGTH": len(payload), - "wsgi.input": payload, - } - ) - - def test_number_exceeded(self): - with self.settings(DATA_UPLOAD_MAX_NUMBER_FIELDS=2): - with self.assertRaisesMessage(TooManyFieldsSent, TOO_MANY_FIELDS_MSG): - self.request._load_post_and_files() - - def test_number_not_exceeded(self): - with self.settings(DATA_UPLOAD_MAX_NUMBER_FIELDS=3): - self.request._load_post_and_files() - - def test_no_limit(self): - with self.settings(DATA_UPLOAD_MAX_NUMBER_FIELDS=None): - self.request._load_post_and_files() |
