mirror of
https://github.com/django/django.git
synced 2025-08-03 02:23:12 +00:00
Fixed #32299 -- Prevented mutating handlers when processing middlewares marking as unused in an async context.
Thanks Hubert Bielenia for the report.
This commit is contained in:
parent
45519937e5
commit
98ad327864
3 changed files with 27 additions and 2 deletions
|
@ -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,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue