diff options
author | Kevin Michel <kevin.michel@sereema.com> | 2020-08-28 11:13:05 +0200 |
---|---|---|
committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2020-08-28 12:33:15 +0200 |
commit | 68d7cf4054e4d53d77270659113520540cc7cadc (patch) | |
tree | 93e7fec8ea100904c92d0a0e46b3355038e33d08 /tests/deprecation | |
parent | abbdd3a622982e8c9a85e73335bdb8577c80ed85 (diff) | |
download | django-68d7cf4054e4d53d77270659113520540cc7cadc.tar.gz |
Refs #26601 -- Added various middlewares tests for deprecation of passing None as get_response.
Diffstat (limited to 'tests/deprecation')
-rw-r--r-- | tests/deprecation/test_middleware_mixin.py | 62 |
1 files changed, 43 insertions, 19 deletions
diff --git a/tests/deprecation/test_middleware_mixin.py b/tests/deprecation/test_middleware_mixin.py index c90aeb8360..3e4260b422 100644 --- a/tests/deprecation/test_middleware_mixin.py +++ b/tests/deprecation/test_middleware_mixin.py @@ -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,30 +35,39 @@ 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() + for middleware in self.middlewares: + with self.subTest(middleware=middleware): + with self.assertRaisesMessage(RemovedInDjango40Warning, self.msg): + middleware() 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() + middleware(None) def test_sync_to_async_uses_base_thread_and_connection(self): """ |