mirror of
https://github.com/django/django.git
synced 2025-08-04 10:59:45 +00:00
Fixed #9595 -- Allow non-expiring cache timeouts.
Also, streamline the use of 0 and None between cache backends.
This commit is contained in:
parent
e0df647143
commit
89955cc35f
10 changed files with 97 additions and 40 deletions
28
tests/cache/tests.py
vendored
28
tests/cache/tests.py
vendored
|
@ -441,6 +441,34 @@ class BaseCacheTests(object):
|
|||
self.assertEqual(self.cache.get('key3'), 'sausage')
|
||||
self.assertEqual(self.cache.get('key4'), 'lobster bisque')
|
||||
|
||||
def test_forever_timeout(self):
|
||||
'''
|
||||
Passing in None into timeout results in a value that is cached forever
|
||||
'''
|
||||
self.cache.set('key1', 'eggs', None)
|
||||
self.assertEqual(self.cache.get('key1'), 'eggs')
|
||||
|
||||
self.cache.add('key2', 'ham', None)
|
||||
self.assertEqual(self.cache.get('key2'), 'ham')
|
||||
|
||||
self.cache.set_many({'key3': 'sausage', 'key4': 'lobster bisque'}, None)
|
||||
self.assertEqual(self.cache.get('key3'), 'sausage')
|
||||
self.assertEqual(self.cache.get('key4'), 'lobster bisque')
|
||||
|
||||
def test_zero_timeout(self):
|
||||
'''
|
||||
Passing in None into timeout results in a value that is cached forever
|
||||
'''
|
||||
self.cache.set('key1', 'eggs', 0)
|
||||
self.assertEqual(self.cache.get('key1'), None)
|
||||
|
||||
self.cache.add('key2', 'ham', 0)
|
||||
self.assertEqual(self.cache.get('key2'), None)
|
||||
|
||||
self.cache.set_many({'key3': 'sausage', 'key4': 'lobster bisque'}, 0)
|
||||
self.assertEqual(self.cache.get('key3'), None)
|
||||
self.assertEqual(self.cache.get('key4'), None)
|
||||
|
||||
def test_float_timeout(self):
|
||||
# Make sure a timeout given as a float doesn't crash anything.
|
||||
self.cache.set("key1", "spam", 100.2)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue