summaryrefslogtreecommitdiff
path: root/tests/cache/tests.py
diff options
context:
space:
mode:
authorVincent-Vega <mortas.11@gmail.com>2014-06-16 12:46:34 +0400
committerTim Graham <timograham@gmail.com>2014-06-16 16:35:24 -0400
commit6e248d8f8c95da9cbd654d43df76c20e6d0ec352 (patch)
tree55c3e9f2a9d1e8944c32bb8383ccee38b6fbc152 /tests/cache/tests.py
parentd36b54d753a1fb79f32f6b7a91d582bccb7ab311 (diff)
[1.7.x] Fixed #22845 -- Correctly handled memcached default timeout value.
Backport of 4529af9ecf from master
Diffstat (limited to 'tests/cache/tests.py')
-rw-r--r--tests/cache/tests.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/cache/tests.py b/tests/cache/tests.py
index 94af45c03e..8a35fb461a 100644
--- a/tests/cache/tests.py
+++ b/tests/cache/tests.py
@@ -1076,6 +1076,12 @@ for _cache_params in settings.CACHES.values():
if _cache_params['BACKEND'].startswith('django.core.cache.backends.memcached.'):
memcached_params = _cache_params
+memcached_never_expiring_params = memcached_params.copy()
+memcached_never_expiring_params['TIMEOUT'] = None
+
+memcached_far_future_params = memcached_params.copy()
+memcached_far_future_params['TIMEOUT'] = 31536000 # 60*60*24*365, 1 year
+
@unittest.skipUnless(memcached_params, "memcached not available")
@override_settings(CACHES=caches_setting_for_tests(base=memcached_params))
@@ -1107,6 +1113,18 @@ class MemcachedCacheTests(BaseCacheTests, TestCase):
self.assertEqual(caches[cache_key]._cache.pickleProtocol,
pickle.HIGHEST_PROTOCOL)
+ @override_settings(CACHES=caches_setting_for_tests(base=memcached_never_expiring_params))
+ def test_default_never_expiring_timeout(self):
+ # Regression test for #22845
+ cache.set('infinite_foo', 'bar')
+ self.assertEqual(cache.get('infinite_foo'), 'bar')
+
+ @override_settings(CACHES=caches_setting_for_tests(base=memcached_far_future_params))
+ def test_default_far_future_timeout(self):
+ # Regression test for #22845
+ cache.set('future_foo', 'bar')
+ self.assertEqual(cache.get('future_foo'), 'bar')
+
def test_cull(self):
# culling isn't implemented, memcached deals with it.
pass