diff options
| author | IsJn-227 <ishjain2712@gmail.com> | 2025-06-13 15:52:46 +0530 |
|---|---|---|
| committer | Sarah Boyce <42296566+sarahboyce@users.noreply.github.com> | 2025-07-18 10:18:22 +0200 |
| commit | be8c9b19baeb4daf6bf2e603673714c7536b657c (patch) | |
| tree | d9a31d68125c9f1e7268fd00a16485eb632b1610 /tests/view_tests | |
| parent | 449b9f9aeeaa3a1529d2c29a9a43e87350177559 (diff) | |
Fixed #36456 -- Improved content type negotiation in technical 500 error response.
Diffstat (limited to 'tests/view_tests')
| -rw-r--r-- | tests/view_tests/tests/test_debug.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/view_tests/tests/test_debug.py b/tests/view_tests/tests/test_debug.py index a5a1d85e83..f5cb82cd2d 100644 --- a/tests/view_tests/tests/test_debug.py +++ b/tests/view_tests/tests/test_debug.py @@ -261,6 +261,22 @@ class DebugViewTests(SimpleTestCase): status_code=500, ) + def test_technical_500_content_type_negotiation(self): + for accepts, content_type in [ + ("text/plain", "text/plain; charset=utf-8"), + ("text/html", "text/html"), + ("text/html,text/plain;q=0.9", "text/html"), + ("text/plain,text/html;q=0.9", "text/plain; charset=utf-8"), + ("text/*", "text/html"), + ]: + with self.subTest(accepts=accepts): + with self.assertLogs("django.request", "ERROR"): + response = self.client.get( + "/raises500/", headers={"accept": accepts} + ) + self.assertEqual(response.status_code, 500) + self.assertEqual(response["Content-Type"], content_type) + def test_classbased_technical_500(self): with self.assertLogs("django.request", "ERROR"): response = self.client.get("/classbased500/") |
