mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-07 13:54:47 +03:00
Test large files
This commit is contained in:
parent
0f61c9ec29
commit
da11d567aa
|
@ -3,7 +3,9 @@
|
|||
from __future__ import unicode_literals
|
||||
|
||||
from django import forms
|
||||
from django.core.files.uploadhandler import MemoryFileUploadHandler
|
||||
from django.core.files.uploadhandler import (
|
||||
MemoryFileUploadHandler, TemporaryFileUploadHandler
|
||||
)
|
||||
from django.test import TestCase
|
||||
from django.utils.six.moves import StringIO
|
||||
|
||||
|
@ -39,7 +41,7 @@ class TestFileUploadParser(TestCase):
|
|||
"Test text file".encode('utf-8')
|
||||
)
|
||||
request = MockRequest()
|
||||
request.upload_handlers = (MemoryFileUploadHandler(),)
|
||||
request.upload_handlers = (MemoryFileUploadHandler(), TemporaryFileUploadHandler(),)
|
||||
request.META = {
|
||||
'HTTP_CONTENT_DISPOSITION': 'Content-Disposition: inline; filename=file.txt',
|
||||
'HTTP_CONTENT_LENGTH': 14,
|
||||
|
@ -66,6 +68,18 @@ class TestFileUploadParser(TestCase):
|
|||
with self.assertRaises(ParseError):
|
||||
parser.parse(self.stream, None, self.parser_context)
|
||||
|
||||
def test_parse_missing_filename_large_file(self):
|
||||
"""
|
||||
Parse large raw file upload when filename is missing.
|
||||
"""
|
||||
from django.conf import settings
|
||||
self.parser_context['request'].META['HTTP_CONTENT_LENGTH'] = settings.FILE_UPLOAD_MAX_MEMORY_SIZE + 1
|
||||
parser = FileUploadParser()
|
||||
self.stream.seek(0)
|
||||
self.parser_context['request'].META['HTTP_CONTENT_DISPOSITION'] = ''
|
||||
with self.assertRaises(ParseError):
|
||||
parser.parse(self.stream, None, self.parser_context)
|
||||
|
||||
def test_parse_missing_filename_multiple_upload_handlers(self):
|
||||
"""
|
||||
Parse raw file upload with multiple handlers when filename is missing.
|
||||
|
|
Loading…
Reference in New Issue
Block a user