mirror of https://github.com/django/django.git
Fixed #34212 -- Made RedisCacheClient.incr() use write connection.
Co-authored-by: Sin-Woo Bang <sinwoobang@gmail.com>
This commit is contained in:
parent
1e4da43955
commit
a1bcdc94da
|
@ -130,7 +130,7 @@ class RedisCacheClient:
|
|||
return bool(client.exists(key))
|
||||
|
||||
def incr(self, key, delta):
|
||||
client = self.get_client(key)
|
||||
client = self.get_client(key, write=True)
|
||||
if not client.exists(key):
|
||||
raise ValueError("Key '%s' not found." % key)
|
||||
return client.incr(key, delta)
|
||||
|
|
|
@ -1787,6 +1787,14 @@ class RedisCacheTests(BaseCacheTests, TestCase):
|
|||
def incr_decr_type_error(self):
|
||||
return self.lib.ResponseError
|
||||
|
||||
def test_incr_write_connection(self):
|
||||
cache.set("number", 42)
|
||||
with mock.patch(
|
||||
"django.core.cache.backends.redis.RedisCacheClient.get_client"
|
||||
) as mocked_get_client:
|
||||
cache.incr("number")
|
||||
self.assertEqual(mocked_get_client.call_args.kwargs, {"write": True})
|
||||
|
||||
def test_cache_client_class(self):
|
||||
self.assertIs(cache._class, RedisCacheClient)
|
||||
self.assertIsInstance(cache._cache, RedisCacheClient)
|
||||
|
|
Loading…
Reference in New Issue