summaryrefslogtreecommitdiff
path: root/tests/cache/test_null_backend.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/cache/test_null_backend.py')
-rw-r--r--tests/cache/test_null_backend.py67
1 files changed, 67 insertions, 0 deletions
diff --git a/tests/cache/test_null_backend.py b/tests/cache/test_null_backend.py
new file mode 100644
index 0000000..9f274de
--- /dev/null
+++ b/tests/cache/test_null_backend.py
@@ -0,0 +1,67 @@
+from dogpile.cache.backends.null import NullLock
+from unittest import TestCase
+from _fixtures import _GenericBackendFixture
+from dogpile.cache.api import NO_VALUE
+from . import eq_
+import itertools
+
+class NullBackendTest(_GenericBackendFixture, TestCase):
+ backend = "dogpile.cache.null"
+
+ def test_get(self):
+ reg = self._region()
+
+ eq_(reg.get("some key"), NO_VALUE)
+
+ def test_set(self):
+ reg = self._region()
+ reg.set("some key", "some value")
+ eq_(reg.get("some key"), NO_VALUE)
+
+ def test_delete(self):
+ reg = self._region()
+ reg.delete("some key")
+ eq_(reg.get("some key"), NO_VALUE)
+
+ def test_get_multi(self):
+ reg = self._region()
+
+ eq_(
+ reg.get_multi(['a', 'b', 'c']),
+ [NO_VALUE, NO_VALUE, NO_VALUE]
+ )
+
+ def test_set_multi(self):
+ reg = self._region()
+ reg.set_multi(
+ {
+ "a": 1,
+ "b": 2,
+ "c": 3
+ }
+ )
+ eq_(
+ reg.get_multi(['a', 'b', 'c']),
+ [NO_VALUE, NO_VALUE, NO_VALUE]
+ )
+
+ def test_delete_multi(self):
+ reg = self._region()
+ reg.delete_multi(["a", "b", "c"])
+ eq_(
+ reg.get_multi(['a', 'b', 'c']),
+ [NO_VALUE, NO_VALUE, NO_VALUE]
+ )
+
+ def test_decorator(self):
+ reg = self._region()
+
+ counter = itertools.count(1)
+ @reg.cache_on_arguments()
+ def go(a, b):
+ val = next(counter)
+ return val, a, b
+
+ eq_(go(1, 2), (1, 1, 2))
+ eq_(go(1, 2), (2, 1, 2))
+ eq_(go(1, 3), (3, 1, 3))