mirror of
https://github.com/django/django.git
synced 2025-10-24 14:16:09 +00:00
Refs #26601 -- Added various middlewares tests for deprecation of passing None as get_response.
This commit is contained in:
committed by
Mariusz Felisiak
parent
abbdd3a622
commit
68d7cf4054
@@ -2,14 +2,29 @@ import threading
|
||||
|
||||
from asgiref.sync import async_to_sync
|
||||
|
||||
from django.contrib.admindocs.middleware import XViewMiddleware
|
||||
from django.contrib.auth.middleware import (
|
||||
AuthenticationMiddleware, RemoteUserMiddleware,
|
||||
)
|
||||
from django.contrib.flatpages.middleware import FlatpageFallbackMiddleware
|
||||
from django.contrib.messages.middleware import MessageMiddleware
|
||||
from django.contrib.redirects.middleware import RedirectFallbackMiddleware
|
||||
from django.contrib.sessions.middleware import SessionMiddleware
|
||||
from django.contrib.sites.middleware import CurrentSiteMiddleware
|
||||
from django.db import connection
|
||||
from django.http.request import HttpRequest
|
||||
from django.http.response import HttpResponse
|
||||
from django.middleware.cache import (
|
||||
CacheMiddleware, FetchFromCacheMiddleware, UpdateCacheMiddleware,
|
||||
)
|
||||
from django.middleware.common import CommonMiddleware
|
||||
from django.middleware.clickjacking import XFrameOptionsMiddleware
|
||||
from django.middleware.common import (
|
||||
BrokenLinkEmailsMiddleware, CommonMiddleware,
|
||||
)
|
||||
from django.middleware.csrf import CsrfViewMiddleware
|
||||
from django.middleware.gzip import GZipMiddleware
|
||||
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
|
||||
@@ -20,31 +35,40 @@ 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,
|
||||
CacheMiddleware,
|
||||
CommonMiddleware,
|
||||
ConditionalGetMiddleware,
|
||||
CsrfViewMiddleware,
|
||||
CurrentSiteMiddleware,
|
||||
FetchFromCacheMiddleware,
|
||||
FlatpageFallbackMiddleware,
|
||||
GZipMiddleware,
|
||||
LocaleMiddleware,
|
||||
MessageMiddleware,
|
||||
RedirectFallbackMiddleware,
|
||||
RemoteUserMiddleware,
|
||||
SecurityMiddleware,
|
||||
SessionMiddleware,
|
||||
UpdateCacheMiddleware,
|
||||
XFrameOptionsMiddleware,
|
||||
XViewMiddleware,
|
||||
]
|
||||
|
||||
def test_deprecation(self):
|
||||
with self.assertRaisesMessage(RemovedInDjango40Warning, self.msg):
|
||||
CommonMiddleware()
|
||||
|
||||
def test_passing_explicit_none(self):
|
||||
with self.assertRaisesMessage(RemovedInDjango40Warning, self.msg):
|
||||
CommonMiddleware(None)
|
||||
|
||||
def test_subclass_deprecation(self):
|
||||
"""
|
||||
Deprecation warning is raised in subclasses overriding __init__()
|
||||
without calling super().
|
||||
"""
|
||||
for middleware in [
|
||||
SessionMiddleware,
|
||||
CacheMiddleware,
|
||||
FetchFromCacheMiddleware,
|
||||
UpdateCacheMiddleware,
|
||||
SecurityMiddleware,
|
||||
]:
|
||||
for middleware in self.middlewares:
|
||||
with self.subTest(middleware=middleware):
|
||||
with self.assertRaisesMessage(RemovedInDjango40Warning, self.msg):
|
||||
middleware()
|
||||
|
||||
def test_passing_explicit_none(self):
|
||||
for middleware in self.middlewares:
|
||||
with self.subTest(middleware=middleware):
|
||||
with self.assertRaisesMessage(RemovedInDjango40Warning, self.msg):
|
||||
middleware(None)
|
||||
|
||||
def test_sync_to_async_uses_base_thread_and_connection(self):
|
||||
"""
|
||||
The process_request() and process_response() hooks must be called with
|
||||
|
||||
Reference in New Issue
Block a user