Skip to content

Commit 9a47bdb

Browse files
committed
fix: make dogpile.cache.memory preserve its init parameters
Make the `MemoryBackend` behave like the others, and stop removing keys from the initialization dict. Fixes: Issue #273 Closes: #274 Pull-request: #274 Pull-request-sha: 759dc77 Change-Id: Ifd3f0d88b18a73a0ce287e1a514a6268daf157c4
1 parent 2475d0a commit 9a47bdb

File tree

4 files changed

+10
-2
lines changed

4 files changed

+10
-2
lines changed

dogpile/cache/backends/memcached.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
from ..api import NO_VALUE
1919
from ... import util
2020

21-
2221
if typing.TYPE_CHECKING:
2322
import bmemcached
2423
import memcache

dogpile/cache/backends/memory.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ class MemoryBackend(CacheBackend):
5050
"""
5151

5252
def __init__(self, arguments):
53-
self._cache = arguments.pop("cache_dict", {})
53+
self._cache = arguments.get("cache_dict", {})
5454

5555
def get(self, key):
5656
return self._cache.get(key, NO_VALUE)

dogpile/testing/fixtures.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,15 @@ def setup_class(cls):
3232
backend_cls = _backend_loader.load(cls.backend)
3333
try:
3434
arguments = cls.config_args.get("arguments", {})
35+
stashed = arguments.copy()
3536
backend = backend_cls(arguments)
37+
# Fail the test if the parameters have been altered by the backend
38+
# setup; the results in such cases should be considered suspect
39+
if arguments != stashed:
40+
raise ValueError(
41+
"Backend setup failure, test parameters have been "
42+
f"altered: {arguments} != {stashed}"
43+
)
3644
except ImportError:
3745
pytest.skip("Backend %s not installed" % cls.backend)
3846
cls._check_backend_available(backend)

tests/cache/test_memory_backend.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
class MemoryBackendTest(_GenericBackendTestSuite):
66
backend = "dogpile.cache.memory"
7+
config_args = {"arguments": {"cache_dict": {"cache": "warm"}}}
78

89

910
class MemoryBackendSerializerTest(

0 commit comments

Comments
 (0)