Тестирование Django FileResponse - PullRequest
3 голосов
/ 16 апреля 2019

У меня есть представление Django, которое возвращает файл. FileResponse создан для этой цели. Однако я не понимаю, как это проверить.

Сейчас я использую HttpResponse и проверяю это так:

response = client.get(url)
io = io = BytesIO(response.content)

Объект io теперь можно использовать для дальнейшего тестирования.

Однако, если я попробую следующее с FileResponse (который получен из StreamingHttpResponse и, следовательно, имеет streaming_content вместо content), я получу следующее исключение:

TypeError: a bytes-like object is required, not 'map'

Если я приведу объект map к bytes следующим образом:

response = client.get(url)
io = io = BytesIO(bytes(response.streaming_content))

Я получаю еще одно исключение: TypeError: 'bytes' object cannot be interpreted as an integer

Как мне получить BytesIO объект из FileResponse.streaming_content?

...