diff options
author | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2021-05-14 11:53:17 +0200 |
---|---|---|
committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2021-05-18 18:24:19 +0200 |
commit | 958cdf65ae90d26236d1815bbba804729595ec7a (patch) | |
tree | 4fdae4b8c04f4e3852cc418dd54f9ae49bb423cd /tests/cache | |
parent | a24fed399ced6be2e9dce4cf28db00c3ee21a21c (diff) | |
download | django-958cdf65ae90d26236d1815bbba804729595ec7a.tar.gz |
Fixed #32747 -- Prevented initialization of unused caches.
Thanks Alexander Ebral for the report.
Regression in 98e05ccde440cc9b768952cc10bc8285f4924e1f.
Diffstat (limited to 'tests/cache')
-rw-r--r-- | tests/cache/tests.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/cache/tests.py b/tests/cache/tests.py index c189e26e70..65a8f12fc7 100644 --- a/tests/cache/tests.py +++ b/tests/cache/tests.py @@ -1723,6 +1723,19 @@ class CacheClosingTests(SimpleTestCase): signals.request_finished.send(self.__class__) self.assertTrue(cache.closed) + def test_close_only_initialized(self): + with self.settings(CACHES={ + 'cache_1': { + 'BACKEND': 'cache.closeable_cache.CacheClass', + }, + 'cache_2': { + 'BACKEND': 'cache.closeable_cache.CacheClass', + }, + }): + self.assertEqual(caches.all(initialized_only=True), []) + signals.request_finished.send(self.__class__) + self.assertEqual(caches.all(initialized_only=True), []) + DEFAULT_MEMORY_CACHES_SETTINGS = { 'default': { @@ -2625,3 +2638,20 @@ class CacheHandlerTest(SimpleTestCase): ) with self.assertRaisesMessage(InvalidCacheBackendError, msg): test_caches['invalid_backend'] + + def test_all(self): + test_caches = CacheHandler({ + 'cache_1': { + 'BACKEND': 'django.core.cache.backends.dummy.DummyCache', + }, + 'cache_2': { + 'BACKEND': 'django.core.cache.backends.dummy.DummyCache', + }, + }) + self.assertEqual(test_caches.all(initialized_only=True), []) + cache_1 = test_caches['cache_1'] + self.assertEqual(test_caches.all(initialized_only=True), [cache_1]) + self.assertEqual(len(test_caches.all()), 2) + # .all() initializes all caches. + self.assertEqual(len(test_caches.all(initialized_only=True)), 2) + self.assertEqual(test_caches.all(), test_caches.all(initialized_only=True)) |