[1.6.x] Fixed #21448 -- Fixed test client logout with cookie-based sessions

Thanks Gunnar Scherf for the report and the suggested patch.
Backport of 384816fcc from master.
This commit is contained in:
Claude Paroz 2013-11-23 20:51:17 +01:00
parent 6cd5c67b69
commit 655b8bb10b
3 changed files with 7 additions and 0 deletions

View File

@ -595,6 +595,7 @@ class Client(RequestFactory):
else:
request.session = engine.SessionStore()
logout(request)
self.cookies = SimpleCookie()
def _handle_redirects(self, response, **extra):
"Follows any redirects by requesting responses from the server using GET."

View File

@ -37,3 +37,5 @@ Bug fixes
multiple times (#21488, #17181).
* Fixed a regression that unnecessarily triggered settings configuration when
importing ``get_wsgi_application`` (#21486).
* Fixed test client ``logout()`` method when using the cookie-based session
backend (#21448).

View File

@ -356,6 +356,10 @@ class ClientTest(TestCase):
response = self.client.get('/test_client/login_protected_view/')
self.assertRedirects(response, 'http://testserver/accounts/login/?next=/test_client/login_protected_view/')
@override_settings(SESSION_ENGINE="django.contrib.sessions.backends.signed_cookies")
def test_logout_cookie_sessions(self):
self.test_logout()
def test_view_with_permissions(self):
"Request a page that is protected with @permission_required"