diff options
-rw-r--r-- | dogpile/cache/api.py | 2 | ||||
-rw-r--r-- | dogpile/cache/region.py | 6 | ||||
-rw-r--r-- | tests/test_region.py | 14 |
3 files changed, 17 insertions, 5 deletions
diff --git a/dogpile/cache/api.py b/dogpile/cache/api.py index b1f1139..6e3610a 100644 --- a/dogpile/cache/api.py +++ b/dogpile/cache/api.py @@ -71,7 +71,7 @@ class CacheBackend(object): dict( (key[prefix_len:], config_dict[key]) for key in config_dict - if key.startwith(prefix) + if key.startswith(prefix) ) ) diff --git a/dogpile/cache/region.py b/dogpile/cache/region.py index 8e5267f..d496bc1 100644 --- a/dogpile/cache/region.py +++ b/dogpile/cache/region.py @@ -173,11 +173,11 @@ class CacheRegion(object): """ return self.configure( - config_dict["%s.backend" % prefix], + config_dict["%sbackend" % prefix], expiration_time = config_dict.get( - "%s.expiration_time" % prefix, None), + "%sexpiration_time" % prefix, None), _config_argument_dict=config_dict, - _config_prefix="%s.arguments" % prefix + _config_prefix="%sarguments." % prefix ) @memoized_property diff --git a/tests/test_region.py b/tests/test_region.py index 872d5b3..85fefd5 100644 --- a/tests/test_region.py +++ b/tests/test_region.py @@ -1,6 +1,6 @@ from unittest import TestCase from dogpile.cache.api import CacheBackend, CachedValue, NO_VALUE -from dogpile.cache import register_backend, CacheRegion +from dogpile.cache import make_region, register_backend, CacheRegion from tests import eq_, assert_raises_message import time import itertools @@ -40,6 +40,18 @@ class RegionTest(TestCase): reg.configure(backend, **config_args) return reg + def test_instance_from_dict(self): + my_conf = { + 'cache.example.backend': 'mock', + 'cache.example.expiration_time': 600, + 'cache.example.arguments.url': '127.0.0.1' + } + my_region = make_region() + my_region.configure_from_config(my_conf, 'cache.example.') + eq_(my_region.expiration_time, 600) + assert isinstance(my_region.backend, MockBackend) is True + eq_(my_region.backend.arguments, {'url': '127.0.0.1'}) + def test_key_mangler_argument(self): reg = self._region(init_args={"key_mangler":key_mangler}) assert reg.key_mangler is key_mangler |