Тестирование Django на ограничение размера файла

В нашем приложении есть ограничение на размер загружаемого файла (<15MB). Есть ли способ создать фиктивный файл такого размера, чтобы проверить это?

from django.core.files.uploadedfile import InMemoryUploadedFile
import io

    f = io.StringIO("some initial text data")
    f.seek(1024 * 1024 * 1024)
    token_file=InMemoryUploadedFile(file=f , field_name=None, name="file.txt", content_type="text/plain", size=15729641, charset="utf8")
    print(token_file.size)
    response = self.client.post(HOME_URL, {'entity_level': 1, 'data_type': 1, 'team': GROUP_ID,
                                           'upload_file': token_file})  # data=form_data, format='multipart')

Внутри метода clean класса Form :

def clean_upload_file(self):
    uploaded_files = self.files.getlist("upload_file")
    print(f"uploaded_files : {uploaded_files}")
    total_upload_size = sum([file.size for file in uploaded_files]) / (1024 * 1024)
    print(f"total_uploaded_size{total_upload_size}")
    if total_upload_size > MAX_UPLOADED_SIZE:
        raise forms.ValidationError(f"Total upload size is greater than {MAX_UPLOADED_SIZE} MB")

Выход:

self.files.getlist('upload_file'): [<InMemoryUploadedFile: file.txt (text/plain)>]
uploaded_files : [<InMemoryUploadedFile: file.txt (text/plain)>]
total_uploaded_size0.0

РАЗМЕР ФАЙЛА ПРИ ТАКОМ ПОДХОДЕ ВСЕГДА РАВЕН НУЛЮ ЕСТЬ ЛИ СПОСОБ ПОИЗДЕВАТЬСЯ НАД РАЗМЕРОМ ФАЙЛА?

Вернуться на верх