summaryrefslogtreecommitdiff
path: root/tests/cache/_fixtures.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/cache/_fixtures.py')
-rw-r--r--tests/cache/_fixtures.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/cache/_fixtures.py b/tests/cache/_fixtures.py
index 9e71f8f..8b3aa77 100644
--- a/tests/cache/_fixtures.py
+++ b/tests/cache/_fixtures.py
@@ -14,6 +14,7 @@ from dogpile.cache import CacheRegion
from dogpile.cache import register_backend
from dogpile.cache.api import CacheBackend
from dogpile.cache.api import CacheMutex
+from dogpile.cache.api import CantDeserializeException
from dogpile.cache.api import NO_VALUE
from dogpile.cache.region import _backend_loader
from . import assert_raises_message
@@ -380,6 +381,10 @@ class _GenericBackendTest(_GenericBackendFixture, TestCase):
)
+def raise_cant_deserialize_exception(v):
+ raise CantDeserializeException()
+
+
class _GenericSerializerTest(TestCase):
# Inheriting from this class will make test cases
# use these serialization arguments
@@ -388,6 +393,19 @@ class _GenericSerializerTest(TestCase):
"deserializer": json.loads,
}
+ def test_serializer_cant_deserialize(self):
+ region = self._region(
+ region_args={
+ "serializer": self.region_args["serializer"],
+ "deserializer": raise_cant_deserialize_exception,
+ }
+ )
+
+ value = {"foo": ["bar", 1, False, None]}
+ region.set("k", value)
+ asserted = region.get("k")
+ eq_(asserted, NO_VALUE)
+
def test_uses_serializer(self):
region = self._region()