Remove cfg dict mixin

cfg now implements the collections.Mapping ABC

Use set_override() in tests rather than directly setting the attribute
since the cfg iterator doesn't iterate the attributes.

Change-Id: I9db09c778b0fed5e19e836ce4e6006f790e2fca0
This commit is contained in:
Mark McLoughlin
2012-02-23 06:20:40 +00:00
parent e5a3e09d02
commit 762b461720
2 changed files with 14 additions and 13 deletions
-10
View File
@@ -32,16 +32,6 @@ class ConfigMixin(object):
kw.setdefault('args', [])
return super(ConfigMixin, self).__call__(*args, **kw)
def __getitem__(self, key, default=None):
return getattr(self, key, default)
def __setitem__(self, key, value):
return setattr(self, key, value)
def iteritems(self):
for k in self._opts:
yield (k, getattr(self, k))
def print_help(self):
self._oparser.print_help()
+14 -3
View File
@@ -118,6 +118,7 @@ class TestCase(unittest.TestCase):
super(TestCase, self).__init__(*args, **kw)
self._paths = []
self._memo = {}
self._overrides = []
def setUp(self):
super(TestCase, self).setUp()
@@ -132,9 +133,20 @@ class TestCase(unittest.TestCase):
if path in sys.path:
sys.path.remove(path)
kvs.INMEMDB.clear()
CONF.reset()
self.reset_opts()
super(TestCase, self).tearDown()
def opt(self, **kw):
for k, v in kw.iteritems():
CONF.set_override(k, v)
self._overrides.append(k)
def reset_opts(self):
for k in self._overrides:
CONF.set_override(k, None)
self._overrides = []
CONF.reset()
def load_backends(self):
"""Hacky shortcut to load the backends for data manipulation."""
self.identity_api = utils.import_object(CONF.identity.driver)
@@ -201,8 +213,7 @@ class TestCase(unittest.TestCase):
# Service catalog tests need to know the port we ran on.
port = server.socket_info['socket'][1]
CONF.public_port = port
CONF.admin_port = port
self.opt(public_port=port, admin_port=port)
return server
def client(self, app, *args, **kw):