Тестирование представления, использующего TemporaryUploadedFile

У меня есть представление, которое делает следующее:

import pandas as pd

def ingest(request):
    for temp_file in request.FILES.values():
        # There only ever is one use next(gen) if you prefer
        path = temp_file.temporary_file_path()
        break
    
   df = pd.read_csv( path, encoding="UTF-16-le", header=None )

   ...

И я хотел бы протестировать это представление. Я не могу изменить логику представления, поскольку оно предназначено для конечной точки внешней службы, которую я не могу контролировать.

Я добавил FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.TemporaryFileUploadHandler',] в настройки, чтобы избежать неприятных сюрпризов, но не могу заставить тесты работать.

Мой test.py :

from django.core.files.uploadedfile import TemporaryUploadedFile
from django.test import TestCase

class InputTest(TestCase):
    def test_extract_csv(self):
        form_data = {
            'upload_file': TemporaryUploadedFile("data/test.csv", "csv", 88614, "utf-16-le")
        }

        self.client.post("/ingest", form_data)

но это приводит к пустым данным в представлении.

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