1
0
mirror of https://github.com/django/django.git synced 2025-10-24 14:16:09 +00:00

Fixed #34209 -- Prevented FileBasedCache.has_key() crash caused by a race condition.

This commit is contained in:
Marti Raudsepp
2022-12-13 11:20:25 +02:00
committed by Mariusz Felisiak
parent 1d0fa848e0
commit 32268456d6
2 changed files with 9 additions and 2 deletions

View File

@@ -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(