summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-08-10 16:55:46 +0000
committerGerrit Code Review <review@openstack.org>2012-08-10 16:55:46 +0000
commitc9db396cb6473246e5ccf3072ba592ef47fd9d16 (patch)
tree382f7498ae70b05707776ef616300b3a9105da69 /tests
parentf6cf448b92dc1df1c1d922e03a6f44770460b9fe (diff)
parent038d59778eecf953375da701b4cd55d4e3ca309f (diff)
downloadoslo-c9db396cb6473246e5ccf3072ba592ef47fd9d16.tar.gz
oslo-c9db396cb6473246e5ccf3072ba592ef47fd9d16.tar.xz
oslo-c9db396cb6473246e5ccf3072ba592ef47fd9d16.zip
Merge "Add import_opt() method to ConfigOpts"
Diffstat (limited to 'tests')
-rw-r--r--tests/testmods/__init__.py15
-rw-r--r--tests/testmods/bar_foo_opt.py21
-rw-r--r--tests/testmods/blaa_opt.py21
-rw-r--r--tests/unit/test_cfg.py26
4 files changed, 83 insertions, 0 deletions
diff --git a/tests/testmods/__init__.py b/tests/testmods/__init__.py
new file mode 100644
index 0000000..e5f41ad
--- /dev/null
+++ b/tests/testmods/__init__.py
@@ -0,0 +1,15 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright 2012 Red Hat, Inc.
+#
+# 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.
diff --git a/tests/testmods/bar_foo_opt.py b/tests/testmods/bar_foo_opt.py
new file mode 100644
index 0000000..88d0bbf
--- /dev/null
+++ b/tests/testmods/bar_foo_opt.py
@@ -0,0 +1,21 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright 2012 Red Hat, Inc.
+#
+# 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.
+
+from openstack.common import cfg
+
+CONF = cfg.CONF
+
+CONF.register_opt(cfg.StrOpt('foo'), group='bar')
diff --git a/tests/testmods/blaa_opt.py b/tests/testmods/blaa_opt.py
new file mode 100644
index 0000000..b320a72
--- /dev/null
+++ b/tests/testmods/blaa_opt.py
@@ -0,0 +1,21 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright 2012 Red Hat, Inc.
+#
+# 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.
+
+from openstack.common import cfg
+
+CONF = cfg.CONF
+
+CONF.register_opt(cfg.StrOpt('blaa'))
diff --git a/tests/unit/test_cfg.py b/tests/unit/test_cfg.py
index d6286d3..14a85c9 100644
--- a/tests/unit/test_cfg.py
+++ b/tests/unit/test_cfg.py
@@ -1111,6 +1111,32 @@ class UnregisterOptTestCase(BaseTestCase):
self.assertFalse(hasattr(self.conf.blaa, 'foo'))
+class ImportOptTestCase(BaseTestCase):
+
+ def test_import_opt(self):
+ self.assertFalse(hasattr(CONF, 'blaa'))
+ CONF.import_opt('blaa', 'tests.testmods.blaa_opt')
+ self.assertTrue(hasattr(CONF, 'blaa'))
+
+ def test_import_opt_in_group(self):
+ self.assertFalse(hasattr(CONF, 'bar'))
+ CONF.import_opt('foo', 'tests.testmods.bar_foo_opt', group='bar')
+ self.assertTrue(hasattr(CONF, 'bar'))
+ self.assertTrue(hasattr(CONF.bar, 'foo'))
+
+ def test_import_opt_import_errror(self):
+ self.assertRaises(ImportError, CONF.import_opt,
+ 'blaa', 'tests.testmods.blaablaa_opt')
+
+ def test_import_opt_no_such_opt(self):
+ self.assertRaises(NoSuchOptError, CONF.import_opt,
+ 'blaablaa', 'tests.testmods.blaa_opt')
+
+ def test_import_opt_no_such_group(self):
+ self.assertRaises(NoSuchGroupError, CONF.import_opt,
+ 'blaa', 'tests.testmods.blaa_opt', group='blaa')
+
+
class RequiredOptsTestCase(BaseTestCase):
def setUp(self):