mirror of https://github.com/django/django.git
Refs #31907 -- Added cache key validation tests for cache operations.
This commit is contained in:
parent
7ca42974ee
commit
9e04b242ee
|
@ -650,10 +650,23 @@ class BaseCacheTests:
|
||||||
old_func = cache.key_func
|
old_func = cache.key_func
|
||||||
cache.key_func = func
|
cache.key_func = func
|
||||||
|
|
||||||
|
tests = [
|
||||||
|
('add', [key, 1]),
|
||||||
|
('get', [key]),
|
||||||
|
('set', [key, 1]),
|
||||||
|
('incr', [key]),
|
||||||
|
('decr', [key]),
|
||||||
|
('delete', [key]),
|
||||||
|
('get_many', [[key, 'b']]),
|
||||||
|
('set_many', [{key: 1, 'b': 2}]),
|
||||||
|
('delete_many', [{key: 1, 'b': 2}]),
|
||||||
|
]
|
||||||
try:
|
try:
|
||||||
with self.assertWarns(CacheKeyWarning) as cm:
|
for operation, args in tests:
|
||||||
cache.set(key, 'value')
|
with self.subTest(operation=operation):
|
||||||
self.assertEqual(str(cm.warning), expected_warning)
|
with self.assertWarns(CacheKeyWarning) as cm:
|
||||||
|
getattr(cache, operation)(*args)
|
||||||
|
self.assertEqual(str(cm.warning), expected_warning)
|
||||||
finally:
|
finally:
|
||||||
cache.key_func = old_func
|
cache.key_func = old_func
|
||||||
|
|
||||||
|
@ -1291,9 +1304,19 @@ class BaseMemcachedTests(BaseCacheTests):
|
||||||
key.
|
key.
|
||||||
"""
|
"""
|
||||||
msg = expected_warning.replace(key, cache.make_key(key))
|
msg = expected_warning.replace(key, cache.make_key(key))
|
||||||
with self.assertRaises(InvalidCacheKey) as cm:
|
tests = [
|
||||||
cache.set(key, 'value')
|
('add', [key, 1]),
|
||||||
self.assertEqual(str(cm.exception), msg)
|
('set', [key, 1]),
|
||||||
|
('incr', [key]),
|
||||||
|
('decr', [key]),
|
||||||
|
('get_many', [[key, 'b']]),
|
||||||
|
('set_many', [{key: 1, 'b': 2}]),
|
||||||
|
]
|
||||||
|
for operation, args in tests:
|
||||||
|
with self.subTest(operation=operation):
|
||||||
|
with self.assertRaises(InvalidCacheKey) as cm:
|
||||||
|
getattr(cache, operation)(*args)
|
||||||
|
self.assertEqual(str(cm.exception), msg)
|
||||||
|
|
||||||
def test_default_never_expiring_timeout(self):
|
def test_default_never_expiring_timeout(self):
|
||||||
# Regression test for #22845
|
# Regression test for #22845
|
||||||
|
|
Loading…
Reference in New Issue