summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--django/contrib/sessions/tests.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/django/contrib/sessions/tests.py b/django/contrib/sessions/tests.py
index e8aad0f05f..9b669211db 100644
--- a/django/contrib/sessions/tests.py
+++ b/django/contrib/sessions/tests.py
@@ -160,11 +160,16 @@ class SessionTestsMixin(object):
def test_invalid_key(self):
# Submitting an invalid session key (either by guessing, or if the db has
# removed the key) results in a new key being generated.
- session = self.backend('1')
- session.save()
- self.assertNotEqual(session.session_key, '1')
- self.assertEqual(session.get('cat'), None)
- session.delete()
+ try:
+ session = self.backend('1')
+ session.save()
+ self.assertNotEqual(session.session_key, '1')
+ self.assertEqual(session.get('cat'), None)
+ session.delete()
+ finally:
+ # Some backends leave a stale cache entry for the invalid
+ # session key; make sure that entry is manually deleted
+ session.delete('1')
# Custom session expiry
def test_default_expiry(self):