From e6b0ee768c46368a41a5b278180d1d1ecbd3d5c6 Mon Sep 17 00:00:00 2001 From: Aymeric Augustin Date: Sat, 27 Oct 2012 21:59:35 +0200 Subject: [PATCH] [1.5.x] Improved tests introduced in 04b00b6. These tests are expected to fail for the file session backend because it doesn't handle expiry properly. They didn't because of an error in the test setup sequence. Refs #19200, #18194. Backport of 882c47c from master. --- django/contrib/sessions/tests.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/django/contrib/sessions/tests.py b/django/contrib/sessions/tests.py index 44c3b485e9..21e8d845b8 100644 --- a/django/contrib/sessions/tests.py +++ b/django/contrib/sessions/tests.py @@ -277,9 +277,11 @@ class SessionTestsMixin(object): try: self.session['foo'] = 'bar' self.session.set_expiry(-timedelta(seconds=10)) - self.session.create() + self.session.save() + old_session_key = self.session.session_key # With an expiry date in the past, the session expires instantly. new_session = self.backend(self.session.session_key) + new_session_key = new_session.session_key self.assertNotIn('foo', new_session) finally: self.session.delete(old_session_key) @@ -353,15 +355,15 @@ class FileSessionTests(SessionTestsMixin, unittest.TestCase): backend = FileSession def setUp(self): - super(FileSessionTests, self).setUp() # Do file session tests in an isolated directory, and kill it after we're done. self.original_session_file_path = settings.SESSION_FILE_PATH self.temp_session_store = settings.SESSION_FILE_PATH = tempfile.mkdtemp() + super(FileSessionTests, self).setUp() def tearDown(self): + super(FileSessionTests, self).tearDown() settings.SESSION_FILE_PATH = self.original_session_file_path shutil.rmtree(self.temp_session_store) - super(FileSessionTests, self).tearDown() @override_settings( SESSION_FILE_PATH="/if/this/directory/exists/you/have/a/weird/computer")