summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDmitry S..ky / skype: dvska-at-skype <d.v.selitsky@gmail.com>2016-06-22 21:28:43 +0300
committerTim Graham <timograham@gmail.com>2016-07-11 20:49:27 -0400
commit82be474efa81e5f2e127d711045a2ec06b206a8e (patch)
treec83850fca917f04dc62fabcc4ef8c1b4d0172d29 /tests
parentee2f0f311a1e84754f30d2586c0bd96f4fd9e8b6 (diff)
Fixed #26792 -- Allowed None for the value of cache.get_or_set().
Diffstat (limited to 'tests')
-rw-r--r--tests/cache/tests.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/tests/cache/tests.py b/tests/cache/tests.py
index 9099402f43..dc4c69cd43 100644
--- a/tests/cache/tests.py
+++ b/tests/cache/tests.py
@@ -213,12 +213,14 @@ class DummyCacheTests(SimpleTestCase):
def test_get_or_set(self):
self.assertEqual(cache.get_or_set('mykey', 'default'), 'default')
+ self.assertEqual(cache.get_or_set('mykey', None), None)
def test_get_or_set_callable(self):
def my_callable():
return 'default'
self.assertEqual(cache.get_or_set('mykey', my_callable), 'default')
+ self.assertEqual(cache.get_or_set('mykey', my_callable()), 'default')
def custom_key_func(key, key_prefix, version):
@@ -918,18 +920,25 @@ class BaseCacheTests(object):
self.assertIsNone(cache.get('projector'))
self.assertEqual(cache.get_or_set('projector', 42), 42)
self.assertEqual(cache.get('projector'), 42)
+ self.assertEqual(cache.get_or_set('null', None), None)
def test_get_or_set_callable(self):
def my_callable():
return 'value'
self.assertEqual(cache.get_or_set('mykey', my_callable), 'value')
+ self.assertEqual(cache.get_or_set('mykey', my_callable()), 'value')
def test_get_or_set_version(self):
+ msg = (
+ "get_or_set() missing 1 required positional argument: 'default'"
+ if six.PY3
+ else 'get_or_set() takes at least 3 arguments'
+ )
cache.get_or_set('brian', 1979, version=2)
- with self.assertRaisesMessage(ValueError, 'You need to specify a value.'):
+ with self.assertRaisesMessage(TypeError, msg):
cache.get_or_set('brian')
- with self.assertRaisesMessage(ValueError, 'You need to specify a value.'):
+ with self.assertRaisesMessage(TypeError, msg):
cache.get_or_set('brian', version=1)
self.assertIsNone(cache.get('brian', version=1))
self.assertEqual(cache.get_or_set('brian', 42, version=1), 42)