File tree Expand file tree Collapse file tree 4 files changed +47
-2
lines changed
Expand file tree Collapse file tree 4 files changed +47
-2
lines changed Original file line number Diff line number Diff line change @@ -53,8 +53,7 @@ def autofill(self):
5353 full_cachekey = self .add_prefix (self ._autofill_cachekey )
5454 if self ._cache .get (full_cachekey ):
5555 return
56- autofill_values = {}
57- autofill_values [full_cachekey ] = 1
56+ autofill_values = {full_cachekey : 1 }
5857 for key , value in self .mget (settings .CONFIG ):
5958 autofill_values [self .add_prefix (key )] = value
6059 self ._cache .set_many (autofill_values , timeout = self ._autofill_timeout )
Original file line number Diff line number Diff line change @@ -25,3 +25,30 @@ def test_database_queries(self):
2525
2626 def tearDown (self ):
2727 settings .BACKEND = self .old_backend
28+
29+
30+ class TestDatabaseWithCache (StorageTestsMixin , TestCase ):
31+ def setUp (self ):
32+ self .old_backend = settings .BACKEND
33+ settings .BACKEND = "constance.backends.database.DatabaseBackend"
34+ self .old_cache_backend = settings .DATABASE_CACHE_BACKEND
35+ settings .DATABASE_CACHE_BACKEND = "default"
36+ super ().setUp ()
37+ self .config ._backend ._cache .clear ()
38+
39+ def test_database_queries (self ):
40+ # Read and set to default value
41+ with self .assertNumQueries (6 ):
42+ self .assertEqual (self .config .INT_VALUE , 1 )
43+
44+ # Read again
45+ with self .assertNumQueries (0 ):
46+ self .assertEqual (self .config .INT_VALUE , 1 )
47+
48+ # Set value
49+ with self .assertNumQueries (3 ):
50+ self .config .INT_VALUE = 15
51+
52+ def tearDown (self ):
53+ settings .BACKEND = self .old_backend
54+ settings .DATABASE_CACHE_BACKEND = self .old_cache_backend
Original file line number Diff line number Diff line change 1+ from django .core .cache .backends .base import BaseCache
2+ from django .core .cache .backends .locmem import LocMemCache
3+
4+
5+ class Cache (BaseCache ):
6+ def __init__ (self , name , params ):
7+ self ._cache = LocMemCache (name , params )
8+ self .add = self ._cache .add
9+ self .delete = self ._cache .delete
10+ self .set = self ._cache .set
11+ self .get = self ._cache .get
12+ self .clear = self ._cache .clear
Original file line number Diff line number Diff line change 2929 },
3030}
3131
32+ CACHES = {
33+ "default" : {
34+ "BACKEND" : "tests.cache_mockup.Cache" ,
35+ "LOCATION" : "locmem" ,
36+ }
37+ }
38+
3239INSTALLED_APPS = (
3340 "django.contrib.admin" ,
3441 "django.contrib.staticfiles" ,
You can’t perform that action at this time.
0 commit comments