Fixed #15026 -- Added cleanup to the invalid key session tests; when using Memcached as a cache backend, the cache-backed session backends would fail on the second run due to leftover cache artefacts. Thanks to jsdalton for the report and patch.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@15235 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Russell Keith-Magee 2011-01-17 14:03:19 +00:00
parent 3a9e2e90ac
commit 993612c84d
1 changed files with 10 additions and 5 deletions

View File

@ -160,11 +160,16 @@ class SessionTestsMixin(object):
def test_invalid_key(self): def test_invalid_key(self):
# Submitting an invalid session key (either by guessing, or if the db has # Submitting an invalid session key (either by guessing, or if the db has
# removed the key) results in a new key being generated. # removed the key) results in a new key being generated.
session = self.backend('1') try:
session.save() session = self.backend('1')
self.assertNotEqual(session.session_key, '1') session.save()
self.assertEqual(session.get('cat'), None) self.assertNotEqual(session.session_key, '1')
session.delete() 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 # Custom session expiry
def test_default_expiry(self): def test_default_expiry(self):