diff options
| author | Claude Paroz <claude@2xlibre.net> | 2019-09-26 19:06:35 +0200 |
|---|---|---|
| committer | Carlton Gibson <carlton@noumenal.es> | 2020-02-18 20:03:44 +0100 |
| commit | 4d973f593932285cd2f765400d915305d8e7333a (patch) | |
| tree | 1cc48fd9e979d77906e522ecad2689d156d1377f /tests/auth_tests/test_views.py | |
| parent | a34cb5a6d408203f4fbdb364fc9768c026eda224 (diff) | |
Refs #26601 -- Deprecated passing None as get_response arg to middleware classes.
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>
Diffstat (limited to 'tests/auth_tests/test_views.py')
| -rw-r--r-- | tests/auth_tests/test_views.py | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/tests/auth_tests/test_views.py b/tests/auth_tests/test_views.py index 4966d4d89f..a5f36bb9ea 100644 --- a/tests/auth_tests/test_views.py +++ b/tests/auth_tests/test_views.py @@ -25,7 +25,7 @@ from django.contrib.sessions.middleware import SessionMiddleware from django.contrib.sites.requests import RequestSite from django.core import mail from django.db import connection -from django.http import HttpRequest +from django.http import HttpRequest, HttpResponse from django.middleware.csrf import CsrfViewMiddleware, get_token from django.test import Client, TestCase, override_settings from django.test.client import RedirectCycleError @@ -650,15 +650,17 @@ class LoginTest(AuthViewsTestCase): """ Makes sure that a login rotates the currently-used CSRF token. """ + def get_response(request): + return HttpResponse() + # Do a GET to establish a CSRF token # The test client isn't used here as it's a test for middleware. req = HttpRequest() - CsrfViewMiddleware().process_view(req, LoginView.as_view(), (), {}) + CsrfViewMiddleware(get_response).process_view(req, LoginView.as_view(), (), {}) # get_token() triggers CSRF token inclusion in the response get_token(req) - resp = LoginView.as_view()(req) - resp2 = CsrfViewMiddleware().process_response(req, resp) - csrf_cookie = resp2.cookies.get(settings.CSRF_COOKIE_NAME, None) + resp = CsrfViewMiddleware(LoginView.as_view())(req) + csrf_cookie = resp.cookies.get(settings.CSRF_COOKIE_NAME, None) token1 = csrf_cookie.coded_value # Prepare the POST request @@ -668,13 +670,12 @@ class LoginTest(AuthViewsTestCase): req.POST = {'username': 'testclient', 'password': 'password', 'csrfmiddlewaretoken': token1} # Use POST request to log in - SessionMiddleware().process_request(req) - CsrfViewMiddleware().process_view(req, LoginView.as_view(), (), {}) + SessionMiddleware(get_response).process_request(req) + CsrfViewMiddleware(get_response).process_view(req, LoginView.as_view(), (), {}) req.META["SERVER_NAME"] = "testserver" # Required to have redirect work in login view req.META["SERVER_PORT"] = 80 - resp = LoginView.as_view()(req) - resp2 = CsrfViewMiddleware().process_response(req, resp) - csrf_cookie = resp2.cookies.get(settings.CSRF_COOKIE_NAME, None) + resp = CsrfViewMiddleware(LoginView.as_view())(req) + csrf_cookie = resp.cookies.get(settings.CSRF_COOKIE_NAME, None) token2 = csrf_cookie.coded_value # Check the CSRF token switched |
