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