3
3
from __future__ import unicode_literals
4
4
5
5
from django import forms
6
- from django .core .files .uploadhandler import MemoryFileUploadHandler
6
+ from django .core .files .uploadhandler import MemoryFileUploadHandler , TemporaryFileUploadHandler
7
7
from django .test import TestCase
8
8
from django .utils .six .moves import StringIO
9
9
@@ -39,7 +39,7 @@ class MockRequest(object):
39
39
"Test text file" .encode ('utf-8' )
40
40
)
41
41
request = MockRequest ()
42
- request .upload_handlers = (MemoryFileUploadHandler (),)
42
+ request .upload_handlers = (MemoryFileUploadHandler (), TemporaryFileUploadHandler (), )
43
43
request .META = {
44
44
'HTTP_CONTENT_DISPOSITION' : 'Content-Disposition: inline; filename=file.txt' ,
45
45
'HTTP_CONTENT_LENGTH' : 14 ,
@@ -66,6 +66,18 @@ def test_parse_missing_filename(self):
66
66
with self .assertRaises (ParseError ):
67
67
parser .parse (self .stream , None , self .parser_context )
68
68
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
+
69
81
def test_parse_missing_filename_multiple_upload_handlers (self ):
70
82
"""
71
83
Parse raw file upload with multiple handlers when filename is missing.
0 commit comments