From a935e834433cfc691882c2bbf1249a39abecd35b Mon Sep 17 00:00:00 2001 From: Ramiro Morales Date: Thu, 15 Mar 2012 02:46:07 +0000 Subject: [PATCH] Reverted r16386 because it replaced a brittle method with another not less arbitrary method when the test client checks for the presence of the bundled session backends+session middleware combination. We will revisit the issue soon, probably to make these checks even less strict. Refs #7836, #16605 git-svn-id: http://code.djangoproject.com/svn/django/trunk@17739 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/test/client.py | 4 ++-- .../regressiontests/test_client_regress/models.py | 14 +------------- 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/django/test/client.py b/django/test/client.py index 94fabcf91a..6f3b73dde3 100644 --- a/django/test/client.py +++ b/django/test/client.py @@ -350,7 +350,7 @@ class Client(RequestFactory): """ Obtains the current session variables. """ - if 'django.contrib.sessions.middleware.SessionMiddleware' in settings.MIDDLEWARE_CLASSES: + if 'django.contrib.sessions' in settings.INSTALLED_APPS: engine = import_module(settings.SESSION_ENGINE) cookie = self.cookies.get(settings.SESSION_COOKIE_NAME, None) if cookie: @@ -498,7 +498,7 @@ class Client(RequestFactory): """ user = authenticate(**credentials) if user and user.is_active \ - and 'django.contrib.sessions.middleware.SessionMiddleware' in settings.MIDDLEWARE_CLASSES: + and 'django.contrib.sessions' in settings.INSTALLED_APPS: engine = import_module(settings.SESSION_ENGINE) # Create a fake request to store login details. diff --git a/tests/regressiontests/test_client_regress/models.py b/tests/regressiontests/test_client_regress/models.py index 60cd9b1ae3..0f98b2c53f 100644 --- a/tests/regressiontests/test_client_regress/models.py +++ b/tests/regressiontests/test_client_regress/models.py @@ -13,7 +13,7 @@ from django.template import (TemplateDoesNotExist, TemplateSyntaxError, import django.template.context from django.test import Client, TestCase from django.test.client import encode_file, RequestFactory -from django.test.utils import ContextList, override_settings +from django.test.utils import ContextList from django.template.response import SimpleTemplateResponse from django.http import HttpResponse @@ -564,18 +564,6 @@ class SessionEngineTests(TestCase): self.assertEqual(response.context['user'].username, 'testclient') -class NoSessionsAppInstalled(SessionEngineTests): - """#7836 - Test client can exercise sessions even when 'django.contrib.sessions' isn't installed.""" - - # Remove the 'session' contrib app from INSTALLED_APPS - @override_settings(INSTALLED_APPS=tuple(filter(lambda a: a!='django.contrib.sessions', settings.INSTALLED_APPS))) - def test_session(self): - # This request sets a session variable. - response = self.client.get('/test_client_regress/set_session/') - self.assertEqual(response.status_code, 200) - self.assertEqual(self.client.session['session_var'], 'YES') - - class URLEscapingTests(TestCase): def test_simple_argument_get(self): "Get a view that has a simple string argument"