summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorjonathan vanasco <jonathan@2xlp.com>2018-06-27 14:05:28 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2018-06-27 14:26:21 -0400
commitccfa1ba962bdf2987c922e6393ac9859487f510c (patch)
tree33b3256d8837516b3bf22ff9bf6eb31957af0ab1 /tests
parentae72fdce59127b6a99b5b1059e1781bb04fc1bac (diff)
downloaddogpile-cache-ccfa1ba962bdf2987c922e6393ac9859487f510c.tar.gz
added CacheRegion.actual_backend
Added method :meth:`.CacheRegion.actual_backend` which calculates and caches the actual backend for the region, which may be abstracted by the use of one or more :class:`ProxyBackend` subclasses. Change-Id: I91cb858b233bae642c47178e2e7a780b2fef801c Pull-request: https://bitbucket.org/zzzeek/dogpile.cache/pull-requests/65 Fixes: #123
Diffstat (limited to 'tests')
-rw-r--r--tests/cache/test_region.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/cache/test_region.py b/tests/cache/test_region.py
index 87a9889..8f9abf0 100644
--- a/tests/cache/test_region.py
+++ b/tests/cache/test_region.py
@@ -1,5 +1,6 @@
from unittest import TestCase
from dogpile.cache.api import NO_VALUE, CachedValue
+from dogpile.cache.api import CacheBackend
from dogpile.cache import exception
from dogpile.cache import make_region, CacheRegion
from dogpile.cache.proxy import ProxyBackend
@@ -627,3 +628,19 @@ class ProxyBackendTest(TestCase):
# make sure 1 was set, but 5 was not
eq_(reg.get(5), NO_VALUE)
eq_(reg.get(1), True)
+
+ def test_actual_backend_proxied(self):
+ # ensure that `reg.actual_backend` is the actual backend
+ # also ensure that `reg.backend` is a proxied backend
+ reg = self._region(config_args={"wrap": [
+ ProxyBackendTest.GetCounterProxy,
+ ProxyBackendTest.SetCounterProxy]})
+ assert isinstance(reg.backend, ProxyBackend)
+ assert isinstance(reg.actual_backend, CacheBackend)
+
+ def test_actual_backend_noproxy(self):
+ # ensure that `reg.actual_backend` is the actual backend
+ # also ensure that `reg.backend` is NOT a proxied backend
+ reg = self._region()
+ assert isinstance(reg.backend, CacheBackend)
+ assert isinstance(reg.actual_backend, CacheBackend)