summaryrefslogtreecommitdiff
path: root/tests/cache
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2021-05-14 11:53:17 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2021-05-18 20:23:26 +0200
commit41e2aa7eb24e564f6984e6e6660b8e5ff5edbd9d (patch)
tree4ee05d6cc70e5a831278961cccd428139336ba04 /tests/cache
parent349bb58b8a0b6f4b98193dbfe369e41b8780f225 (diff)
[3.2.x] Fixed #32747 -- Prevented initialization of unused caches.
Thanks Alexander Ebral for the report. Regression in 98e05ccde440cc9b768952cc10bc8285f4924e1f. Backport of 958cdf65ae90d26236d1815bbba804729595ec7a from main
Diffstat (limited to 'tests/cache')
-rw-r--r--tests/cache/tests.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/cache/tests.py b/tests/cache/tests.py
index 9d79e6e758..a7530b551f 100644
--- a/tests/cache/tests.py
+++ b/tests/cache/tests.py
@@ -1701,6 +1701,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': {
@@ -2603,3 +2616,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))