diff options
| author | django-bot <ops@djangoproject.com> | 2022-02-03 20:24:19 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-02-07 20:37:05 +0100 |
| commit | 9c19aff7c7561e3a82978a272ecdaad40dda5c00 (patch) | |
| tree | f0506b668a013d0063e5fba3dbf4863b466713ba /tests/responses/test_fileresponse.py | |
| parent | f68fa8b45dfac545cfc4111d4e52804c86db68d3 (diff) | |
Refs #33476 -- Reformatted code with Black.
Diffstat (limited to 'tests/responses/test_fileresponse.py')
| -rw-r--r-- | tests/responses/test_fileresponse.py | 158 |
1 files changed, 87 insertions, 71 deletions
diff --git a/tests/responses/test_fileresponse.py b/tests/responses/test_fileresponse.py index 4e10105ce5..ebb7876be2 100644 --- a/tests/responses/test_fileresponse.py +++ b/tests/responses/test_fileresponse.py @@ -17,32 +17,36 @@ class UnseekableBytesIO(io.BytesIO): class FileResponseTests(SimpleTestCase): def test_content_length_file(self): - response = FileResponse(open(__file__, 'rb')) + response = FileResponse(open(__file__, "rb")) response.close() - self.assertEqual(response.headers['Content-Length'], str(os.path.getsize(__file__))) + self.assertEqual( + response.headers["Content-Length"], str(os.path.getsize(__file__)) + ) def test_content_length_buffer(self): - response = FileResponse(io.BytesIO(b'binary content')) - self.assertEqual(response.headers['Content-Length'], '14') + response = FileResponse(io.BytesIO(b"binary content")) + self.assertEqual(response.headers["Content-Length"], "14") def test_content_length_nonzero_starting_position_file(self): - file = open(__file__, 'rb') + file = open(__file__, "rb") file.seek(10) response = FileResponse(file) response.close() - self.assertEqual(response.headers['Content-Length'], str(os.path.getsize(__file__) - 10)) + self.assertEqual( + response.headers["Content-Length"], str(os.path.getsize(__file__) - 10) + ) def test_content_length_nonzero_starting_position_buffer(self): test_tuples = ( - ('BytesIO', io.BytesIO), - ('UnseekableBytesIO', UnseekableBytesIO), + ("BytesIO", io.BytesIO), + ("UnseekableBytesIO", UnseekableBytesIO), ) for buffer_class_name, BufferClass in test_tuples: with self.subTest(buffer_class_name=buffer_class_name): - buffer = BufferClass(b'binary content') + buffer = BufferClass(b"binary content") buffer.seek(10) response = FileResponse(buffer) - self.assertEqual(response.headers['Content-Length'], '4') + self.assertEqual(response.headers["Content-Length"], "4") def test_content_length_nonzero_starting_position_file_seekable_no_tell(self): class TestFile: @@ -73,125 +77,136 @@ class FileResponseTests(SimpleTestCase): def __exit__(self, e_type, e_val, e_tb): self.close() - file = TestFile(__file__, 'rb') + file = TestFile(__file__, "rb") file.seek(10) response = FileResponse(file) response.close() - self.assertEqual(response.headers['Content-Length'], str(os.path.getsize(__file__) - 10)) + self.assertEqual( + response.headers["Content-Length"], str(os.path.getsize(__file__) - 10) + ) def test_content_type_file(self): - response = FileResponse(open(__file__, 'rb')) + response = FileResponse(open(__file__, "rb")) response.close() - self.assertIn(response.headers['Content-Type'], ['text/x-python', 'text/plain']) + self.assertIn(response.headers["Content-Type"], ["text/x-python", "text/plain"]) def test_content_type_buffer(self): - response = FileResponse(io.BytesIO(b'binary content')) - self.assertEqual(response.headers['Content-Type'], 'application/octet-stream') + response = FileResponse(io.BytesIO(b"binary content")) + self.assertEqual(response.headers["Content-Type"], "application/octet-stream") def test_content_type_buffer_explicit(self): - response = FileResponse(io.BytesIO(b'binary content'), content_type='video/webm') - self.assertEqual(response.headers['Content-Type'], 'video/webm') + response = FileResponse( + io.BytesIO(b"binary content"), content_type="video/webm" + ) + self.assertEqual(response.headers["Content-Type"], "video/webm") def test_content_type_buffer_explicit_default(self): - response = FileResponse(io.BytesIO(b'binary content'), content_type='text/html') - self.assertEqual(response.headers['Content-Type'], 'text/html') + response = FileResponse(io.BytesIO(b"binary content"), content_type="text/html") + self.assertEqual(response.headers["Content-Type"], "text/html") def test_content_type_buffer_named(self): test_tuples = ( - (__file__, ['text/x-python', 'text/plain']), - (__file__ + 'nosuchfile', ['application/octet-stream']), - ('test_fileresponse.py', ['text/x-python', 'text/plain']), - ('test_fileresponse.pynosuchfile', ['application/octet-stream']), + (__file__, ["text/x-python", "text/plain"]), + (__file__ + "nosuchfile", ["application/octet-stream"]), + ("test_fileresponse.py", ["text/x-python", "text/plain"]), + ("test_fileresponse.pynosuchfile", ["application/octet-stream"]), ) for filename, content_types in test_tuples: with self.subTest(filename=filename): - buffer = io.BytesIO(b'binary content') + buffer = io.BytesIO(b"binary content") buffer.name = filename response = FileResponse(buffer) - self.assertIn(response.headers['Content-Type'], content_types) + self.assertIn(response.headers["Content-Type"], content_types) def test_content_disposition_file(self): filenames = ( - ('', 'test_fileresponse.py'), - ('custom_name.py', 'custom_name.py'), + ("", "test_fileresponse.py"), + ("custom_name.py", "custom_name.py"), ) dispositions = ( - (False, 'inline'), - (True, 'attachment'), + (False, "inline"), + (True, "attachment"), ) - for (filename, header_filename), (as_attachment, header_disposition) in itertools.product( - filenames, dispositions - ): + for (filename, header_filename), ( + as_attachment, + header_disposition, + ) in itertools.product(filenames, dispositions): with self.subTest(filename=filename, disposition=header_disposition): - response = FileResponse(open(__file__, 'rb'), filename=filename, as_attachment=as_attachment) + response = FileResponse( + open(__file__, "rb"), filename=filename, as_attachment=as_attachment + ) response.close() self.assertEqual( - response.headers['Content-Disposition'], + response.headers["Content-Disposition"], '%s; filename="%s"' % (header_disposition, header_filename), ) def test_content_disposition_buffer(self): - response = FileResponse(io.BytesIO(b'binary content')) - self.assertFalse(response.has_header('Content-Disposition')) + response = FileResponse(io.BytesIO(b"binary content")) + self.assertFalse(response.has_header("Content-Disposition")) def test_content_disposition_buffer_attachment(self): - response = FileResponse(io.BytesIO(b'binary content'), as_attachment=True) - self.assertEqual(response.headers['Content-Disposition'], 'attachment') + response = FileResponse(io.BytesIO(b"binary content"), as_attachment=True) + self.assertEqual(response.headers["Content-Disposition"], "attachment") def test_content_disposition_buffer_explicit_filename(self): dispositions = ( - (False, 'inline'), - (True, 'attachment'), + (False, "inline"), + (True, "attachment"), ) for as_attachment, header_disposition in dispositions: response = FileResponse( - io.BytesIO(b'binary content'), + io.BytesIO(b"binary content"), as_attachment=as_attachment, - filename='custom_name.py', + filename="custom_name.py", ) self.assertEqual( - response.headers['Content-Disposition'], '%s; filename="custom_name.py"' % header_disposition, + response.headers["Content-Disposition"], + '%s; filename="custom_name.py"' % header_disposition, ) def test_response_buffer(self): - response = FileResponse(io.BytesIO(b'binary content')) - self.assertEqual(list(response), [b'binary content']) + response = FileResponse(io.BytesIO(b"binary content")) + self.assertEqual(list(response), [b"binary content"]) def test_response_nonzero_starting_position(self): test_tuples = ( - ('BytesIO', io.BytesIO), - ('UnseekableBytesIO', UnseekableBytesIO), + ("BytesIO", io.BytesIO), + ("UnseekableBytesIO", UnseekableBytesIO), ) for buffer_class_name, BufferClass in test_tuples: with self.subTest(buffer_class_name=buffer_class_name): - buffer = BufferClass(b'binary content') + buffer = BufferClass(b"binary content") buffer.seek(10) response = FileResponse(buffer) - self.assertEqual(list(response), [b'tent']) + self.assertEqual(list(response), [b"tent"]) def test_buffer_explicit_absolute_filename(self): """ Headers are set correctly with a buffer when an absolute filename is provided. """ - response = FileResponse(io.BytesIO(b'binary content'), filename=__file__) - self.assertEqual(response.headers['Content-Length'], '14') - self.assertEqual(response.headers['Content-Disposition'], 'inline; filename="test_fileresponse.py"') + response = FileResponse(io.BytesIO(b"binary content"), filename=__file__) + self.assertEqual(response.headers["Content-Length"], "14") + self.assertEqual( + response.headers["Content-Disposition"], + 'inline; filename="test_fileresponse.py"', + ) - @skipIf(sys.platform == 'win32', "Named pipes are Unix-only.") + @skipIf(sys.platform == "win32", "Named pipes are Unix-only.") def test_file_from_named_pipe_response(self): with tempfile.TemporaryDirectory() as temp_dir: - pipe_file = os.path.join(temp_dir, 'named_pipe') + pipe_file = os.path.join(temp_dir, "named_pipe") os.mkfifo(pipe_file) pipe_for_read = os.open(pipe_file, os.O_RDONLY | os.O_NONBLOCK) - with open(pipe_file, 'wb') as pipe_for_write: - pipe_for_write.write(b'binary content') + with open(pipe_file, "wb") as pipe_for_write: + pipe_for_write.write(b"binary content") - response = FileResponse(os.fdopen(pipe_for_read, mode='rb')) + response = FileResponse(os.fdopen(pipe_for_read, mode="rb")) response_content = list(response) response.close() - self.assertEqual(response_content, [b'binary content']) - self.assertFalse(response.has_header('Content-Length')) + self.assertEqual(response_content, [b"binary content"]) + self.assertFalse(response.has_header("Content-Length")) def test_compressed_response(self): """ @@ -200,33 +215,34 @@ class FileResponseTests(SimpleTestCase): uncompress the file, which is most probably not wanted. """ test_tuples = ( - ('.tar.gz', 'application/gzip'), - ('.tar.bz2', 'application/x-bzip'), - ('.tar.xz', 'application/x-xz'), + (".tar.gz", "application/gzip"), + (".tar.bz2", "application/x-bzip"), + (".tar.xz", "application/x-xz"), ) for extension, mimetype in test_tuples: with self.subTest(ext=extension): with tempfile.NamedTemporaryFile(suffix=extension) as tmp: response = FileResponse(tmp) - self.assertEqual(response.headers['Content-Type'], mimetype) - self.assertFalse(response.has_header('Content-Encoding')) + self.assertEqual(response.headers["Content-Type"], mimetype) + self.assertFalse(response.has_header("Content-Encoding")) def test_unicode_attachment(self): response = FileResponse( - ContentFile(b'binary content', name="祝您平安.odt"), as_attachment=True, - content_type='application/vnd.oasis.opendocument.text', + ContentFile(b"binary content", name="祝您平安.odt"), + as_attachment=True, + content_type="application/vnd.oasis.opendocument.text", ) self.assertEqual( - response.headers['Content-Type'], - 'application/vnd.oasis.opendocument.text', + response.headers["Content-Type"], + "application/vnd.oasis.opendocument.text", ) self.assertEqual( - response.headers['Content-Disposition'], + response.headers["Content-Disposition"], "attachment; filename*=utf-8''%E7%A5%9D%E6%82%A8%E5%B9%B3%E5%AE%89.odt", ) def test_repr(self): - response = FileResponse(io.BytesIO(b'binary content')) + response = FileResponse(io.BytesIO(b"binary content")) self.assertEqual( repr(response), '<FileResponse status_code=200, "application/octet-stream">', |
