1
0
mirror of https://github.com/django/django.git synced 2025-10-24 22:26:08 +00:00

Refs #26601 -- Made get_response argument required and don't accept None in middleware classes.

Per deprecation timeline.
This commit is contained in:
Mariusz Felisiak
2021-01-12 20:55:32 +01:00
parent 6b4941dd57
commit 4bb30fe5d5
8 changed files with 23 additions and 42 deletions

View File

@@ -28,14 +28,10 @@ from django.middleware.http import ConditionalGetMiddleware
from django.middleware.locale import LocaleMiddleware
from django.middleware.security import SecurityMiddleware
from django.test import SimpleTestCase
from django.utils.deprecation import MiddlewareMixin, RemovedInDjango40Warning
from django.utils.deprecation import MiddlewareMixin
class MiddlewareMixinTests(SimpleTestCase):
"""
Deprecation warning is raised when using get_response=None.
"""
msg = 'Passing None for the middleware get_response argument is deprecated.'
middlewares = [
AuthenticationMiddleware,
BrokenLinkEmailsMiddleware,
@@ -58,16 +54,11 @@ class MiddlewareMixinTests(SimpleTestCase):
XViewMiddleware,
]
def test_deprecation(self):
for middleware in self.middlewares:
with self.subTest(middleware=middleware):
with self.assertRaisesMessage(RemovedInDjango40Warning, self.msg):
middleware()
def test_passing_explicit_none(self):
msg = 'get_response must be provided.'
for middleware in self.middlewares:
with self.subTest(middleware=middleware):
with self.assertRaisesMessage(RemovedInDjango40Warning, self.msg):
with self.assertRaisesMessage(ValueError, msg):
middleware(None)
def test_coroutine(self):