mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
Fixed #34209 -- Prevented FileBasedCache.has_key() crash caused by a race condition.
This commit is contained in:
committed by
Mariusz Felisiak
parent
1d0fa848e0
commit
32268456d6
6
tests/cache/tests.py
vendored
6
tests/cache/tests.py
vendored
@@ -1762,6 +1762,12 @@ class FileBasedCacheTests(BaseCacheTests, TestCase):
|
||||
with open(cache_file, "rb") as fh:
|
||||
self.assertIs(cache._is_expired(fh), True)
|
||||
|
||||
def test_has_key_race_handling(self):
|
||||
self.assertIs(cache.add("key", "value"), True)
|
||||
with mock.patch("builtins.open", side_effect=FileNotFoundError) as mocked_open:
|
||||
self.assertIs(cache.has_key("key"), False)
|
||||
mocked_open.assert_called_once()
|
||||
|
||||
|
||||
@unittest.skipUnless(RedisCache_params, "Redis backend not configured")
|
||||
@override_settings(
|
||||
|
||||
Reference in New Issue
Block a user