diff --git a/tests/cache/tests.py b/tests/cache/tests.py index fcce9579d4..c2a1ebdbb8 100644 --- a/tests/cache/tests.py +++ b/tests/cache/tests.py @@ -1766,6 +1766,28 @@ class FileBasedCacheTests(BaseCacheTests, TestCase): self.assertIs(cache.has_key("key"), False) mocked_open.assert_called_once() + def test_touch(self): + """Override to manually advance time since file access can be slow.""" + + class ManualTickingTime: + def __init__(self): + # Freeze time, calling `sleep` will manually advance it. + self._time = time.time() + + def time(self): + return self._time + + def sleep(self, seconds): + self._time += seconds + + mocked_time = ManualTickingTime() + with ( + mock.patch("django.core.cache.backends.filebased.time", new=mocked_time), + mock.patch("django.core.cache.backends.base.time", new=mocked_time), + mock.patch("cache.tests.time", new=mocked_time), + ): + super().test_touch() + @unittest.skipUnless(RedisCache_params, "Redis backend not configured") @override_settings(