summaryrefslogtreecommitdiffstats
path: root/openstack/common
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2013-08-08 13:16:30 +0000
committerGerrit Code Review <review@openstack.org>2013-08-08 13:16:30 +0000
commit2fc4def480ade1da20e9d29f365ffa4b7e8415e8 (patch)
tree572e7f1df96822fee6c5521496f33b9e90b9873a /openstack/common
parenta1e6e918f3b7654a294031b52560e254bc160f37 (diff)
parent39069795de683aabf13662085a26874d73bb2154 (diff)
downloadoslo-2fc4def480ade1da20e9d29f365ffa4b7e8415e8.tar.gz
oslo-2fc4def480ade1da20e9d29f365ffa4b7e8415e8.tar.xz
oslo-2fc4def480ade1da20e9d29f365ffa4b7e8415e8.zip
Merge "Add a fixture for dealing with config"
Diffstat (limited to 'openstack/common')
-rw-r--r--openstack/common/fixture/config.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/openstack/common/fixture/config.py b/openstack/common/fixture/config.py
new file mode 100644
index 0000000..cf52a66
--- /dev/null
+++ b/openstack/common/fixture/config.py
@@ -0,0 +1,45 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+#
+# Copyright 2013 Mirantis, Inc.
+# Copyright 2013 OpenStack Foundation
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+import fixtures
+from oslo.config import cfg
+
+
+class Config(fixtures.Fixture):
+ """Override some configuration values.
+
+ The keyword arguments are the names of configuration options to
+ override and their values.
+
+ If a group argument is supplied, the overrides are applied to
+ the specified configuration option group.
+
+ All overrides are automatically cleared at the end of the current
+ test by the reset() method, which is registred by addCleanup().
+ """
+
+ def __init__(self, conf=cfg.CONF):
+ self.conf = conf
+
+ def setUp(self):
+ super(Config, self).setUp()
+ self.addCleanup(self.conf.reset)
+
+ def config(self, **kw):
+ group = kw.pop('group', None)
+ for k, v in kw.iteritems():
+ self.conf.set_override(k, v, group)