summaryrefslogtreecommitdiff
path: root/tests/asgi
diff options
context:
space:
mode:
authorChristopher Keith <chris.keith@gmail.com>2020-11-04 23:18:45 -0800
committerGitHub <noreply@github.com>2020-11-05 08:18:45 +0100
commit76181308fb02e67794d0cc1471766a5d7e4c877e (patch)
tree2b8ac74deefcdc97b5cd0bf771ee453136e0ad2b /tests/asgi
parent2f6312fcd13a6dd6b62393663b75b230f2e1bc96 (diff)
downloaddjango-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.py25
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)