diff options
author | Christopher Keith <chris.keith@gmail.com> | 2020-11-04 23:18:45 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-05 08:18:45 +0100 |
commit | 76181308fb02e67794d0cc1471766a5d7e4c877e (patch) | |
tree | 2b8ac74deefcdc97b5cd0bf771ee453136e0ad2b /tests/asgi | |
parent | 2f6312fcd13a6dd6b62393663b75b230f2e1bc96 (diff) | |
download | django-76181308fb02e67794d0cc1471766a5d7e4c877e.tar.gz |
Fixed #31550 -- Adjusted ASGI test_file_response for various Windows content types.
Diffstat (limited to 'tests/asgi')
-rw-r--r-- | tests/asgi/tests.py | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/tests/asgi/tests.py b/tests/asgi/tests.py index 2ec493085e..68e242faa7 100644 --- a/tests/asgi/tests.py +++ b/tests/asgi/tests.py @@ -72,14 +72,23 @@ class ASGITest(SimpleTestCase): response_start = await communicator.receive_output() self.assertEqual(response_start['type'], 'http.response.start') self.assertEqual(response_start['status'], 200) - self.assertEqual( - set(response_start['headers']), - { - (b'Content-Length', str(len(test_file_contents)).encode('ascii')), - (b'Content-Type', b'text/plain' if sys.platform == 'win32' else b'text/x-python'), - (b'Content-Disposition', b'inline; filename="urls.py"'), - }, - ) + headers = response_start['headers'] + self.assertEqual(len(headers), 3) + expected_headers = { + b'Content-Length': str(len(test_file_contents)).encode('ascii'), + b'Content-Type': b'text/x-python', + b'Content-Disposition': b'inline; filename="urls.py"', + } + for key, value in headers: + try: + self.assertEqual(value, expected_headers[key]) + except AssertionError: + # Windows registry may not be configured with correct + # mimetypes. + if sys.platform == 'win32' and key == b'Content-Type': + self.assertEqual(value, b'text/plain') + else: + raise response_body = await communicator.receive_output() self.assertEqual(response_body['type'], 'http.response.body') self.assertEqual(response_body['body'], test_file_contents) |