mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	This is the new contract since middleware refactoring in Django 1.10. Co-authored-by: Carlton Gibson <carlton.gibson@noumenal.es> Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from django.contrib.sessions.middleware import SessionMiddleware
 | |
| from django.middleware.cache import (
 | |
|     CacheMiddleware, FetchFromCacheMiddleware, UpdateCacheMiddleware,
 | |
| )
 | |
| from django.middleware.common import CommonMiddleware
 | |
| from django.middleware.security import SecurityMiddleware
 | |
| from django.test import SimpleTestCase
 | |
| from django.utils.deprecation import RemovedInDjango40Warning
 | |
| 
 | |
| 
 | |
| class MiddlewareMixinTests(SimpleTestCase):
 | |
|     """
 | |
|     Deprecation warning is raised when using get_response=None.
 | |
|     """
 | |
|     msg = 'Passing None for the middleware get_response argument is deprecated.'
 | |
| 
 | |
|     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,
 | |
|         ]:
 | |
|             with self.subTest(middleware=middleware):
 | |
|                 with self.assertRaisesMessage(RemovedInDjango40Warning, self.msg):
 | |
|                     middleware()
 |