Skip to content

Commit b893879

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 424627d commit b893879

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

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)

tests/cache/test_memory_backend.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44

55
class MemoryBackendTest(_GenericBackendTestSuite):
66
backend = "dogpile.cache.memory"
7+
config_args = {"arguments": {"cache_dict": {}}}
8+
9+
def test_config_args_does_not_mutate(self):
10+
assert "cache_dict" in self.config_args["arguments"]
711

812

913
class MemoryBackendSerializerTest(
@@ -12,5 +16,5 @@ class MemoryBackendSerializerTest(
1216
pass
1317

1418

15-
class MemoryPickleBackendTest(_GenericBackendTestSuite):
19+
class MemoryPickleBackendTest(MemoryBackendTest):
1620
backend = "dogpile.cache.memory_pickle"

0 commit comments

Comments
 (0)