diff options
Diffstat (limited to 'tests/cache/_fixtures.py')
-rw-r--r-- | tests/cache/_fixtures.py | 18 |
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() |