Skip to content

Commit 57b3285

Browse files
committed
Test large files
1 parent 0f61c9e commit 57b3285

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

tests/test_parsers.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from __future__ import unicode_literals
44

55
from django import forms
6-
from django.core.files.uploadhandler import MemoryFileUploadHandler
6+
from django.core.files.uploadhandler import MemoryFileUploadHandler, TemporaryFileUploadHandler
77
from django.test import TestCase
88
from django.utils.six.moves import StringIO
99

@@ -39,7 +39,7 @@ class MockRequest(object):
3939
"Test text file".encode('utf-8')
4040
)
4141
request = MockRequest()
42-
request.upload_handlers = (MemoryFileUploadHandler(),)
42+
request.upload_handlers = (MemoryFileUploadHandler(), TemporaryFileUploadHandler(),)
4343
request.META = {
4444
'HTTP_CONTENT_DISPOSITION': 'Content-Disposition: inline; filename=file.txt',
4545
'HTTP_CONTENT_LENGTH': 14,
@@ -66,6 +66,18 @@ def test_parse_missing_filename(self):
6666
with self.assertRaises(ParseError):
6767
parser.parse(self.stream, None, self.parser_context)
6868

69+
def test_parse_missing_filename_large_file(self):
70+
"""
71+
Parse large raw file upload when filename is missing.
72+
"""
73+
from django.conf import settings
74+
self.parser_context['request'].META['HTTP_CONTENT_LENGTH'] = settings.FILE_UPLOAD_MAX_MEMORY_SIZE + 1
75+
parser = FileUploadParser()
76+
self.stream.seek(0)
77+
self.parser_context['request'].META['HTTP_CONTENT_DISPOSITION'] = ''
78+
with self.assertRaises(ParseError):
79+
parser.parse(self.stream, None, self.parser_context)
80+
6981
def test_parse_missing_filename_multiple_upload_handlers(self):
7082
"""
7183
Parse raw file upload with multiple handlers when filename is missing.

0 commit comments

Comments
 (0)