Skip to content
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion django_redis/cache.py
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,8 @@ def lock(self, *args, **kwargs):

@omit_exception
def close(self, **kwargs):
self.client.close(**kwargs)
if self._client:
self.client.close(**kwargs)

@omit_exception
def touch(self, *args, **kwargs):
Expand Down
6 changes: 6 additions & 0 deletions tests/test_backend.py
Original file line number Diff line number Diff line change
Expand Up @@ -532,6 +532,11 @@ def test_close(self, cache: RedisCache, settings: SettingsWrapper):
cache.set("f", "1")
cache.close()

def test_close_uninitialized_client(self):
cache = RedisCache("default", {})
cache._client = None
cache.close()

def test_close_client(self, cache: RedisCache, mocker: MockerFixture):
mock = mocker.patch.object(cache.client, "close")
cache.close()
Expand Down Expand Up @@ -1029,3 +1034,4 @@ def test_sunionstore(self, cache: RedisCache):
cache.sadd("foo2", "bar2", "bar3")
assert cache.sunionstore("foo3", "foo1", "foo2") == 3
assert cache.smembers("foo3") == {"bar1", "bar2", "bar3"}