summaryrefslogtreecommitdiff
path: root/tests/middleware_exceptions
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2020-12-29 09:04:35 +0100
committerGitHub <noreply@github.com>2020-12-29 09:04:35 +0100
commit98ad327864aed8df245fd19ea9d2743279e11643 (patch)
tree2792f22f695f3f3c04139ed9343ab1702d11323a /tests/middleware_exceptions
parent45519937e52c194776a26ec11a32f32958df7f10 (diff)
downloaddjango-98ad327864aed8df245fd19ea9d2743279e11643.tar.gz
Fixed #32299 -- Prevented mutating handlers when processing middlewares marking as unused in an async context.
Thanks Hubert Bielenia for the report.
Diffstat (limited to 'tests/middleware_exceptions')
-rw-r--r--tests/middleware_exceptions/tests.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/middleware_exceptions/tests.py b/tests/middleware_exceptions/tests.py
index 8b019ba524..2a389ce125 100644
--- a/tests/middleware_exceptions/tests.py
+++ b/tests/middleware_exceptions/tests.py
@@ -181,6 +181,25 @@ class MiddlewareNotUsedTests(SimpleTestCase):
with self.assertLogs('django.request', 'DEBUG'):
self.client.get('/middleware_exceptions/view/')
+ @override_settings(MIDDLEWARE=[
+ 'middleware_exceptions.middleware.SyncAndAsyncMiddleware',
+ 'middleware_exceptions.tests.MyMiddleware',
+ ])
+ async def test_async_and_sync_middleware_chain_async_call(self):
+ with self.assertLogs('django.request', 'DEBUG') as cm:
+ response = await self.async_client.get('/middleware_exceptions/view/')
+ self.assertEqual(response.content, b'OK')
+ self.assertEqual(response.status_code, 200)
+ self.assertEqual(
+ cm.records[0].getMessage(),
+ 'Asynchronous middleware middleware_exceptions.tests.MyMiddleware '
+ 'adapted.',
+ )
+ self.assertEqual(
+ cm.records[1].getMessage(),
+ "MiddlewareNotUsed: 'middleware_exceptions.tests.MyMiddleware'",
+ )
+
@override_settings(
DEBUG=True,