summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-08-05 13:59:23 +0000
committerGerrit Code Review <review@openstack.org>2016-08-05 13:59:23 +0000
commit1d18b9193b55b727ca79d96158077e809feb1cd0 (patch)
tree9749514d33432ee9eeb9d3465695d640f7ec0ea3
parentdbd4666fb57bcf11086d3201d9842adc296ea305 (diff)
parentcfa87b1e7f3d6325c4f0ef9f4d2985948e4d99d3 (diff)
downloados-client-config-1d18b9193b55b727ca79d96158077e809feb1cd0.tar.gz
Merge "Add test for precedence rules"1.19.1
-rw-r--r--os_client_config/tests/test_config.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/os_client_config/tests/test_config.py b/os_client_config/tests/test_config.py
index a0978f0..5008878 100644
--- a/os_client_config/tests/test_config.py
+++ b/os_client_config/tests/test_config.py
@@ -373,6 +373,59 @@ class TestConfigArgparse(base.TestCase):
self.assertEqual(cc.region_name, 'region2')
self.assertEqual(cc.snack_type, 'cookie')
+ def test_get_one_cloud_precedence(self):
+ c = config.OpenStackConfig(config_files=[self.cloud_yaml],
+ vendor_files=[self.vendor_yaml])
+
+ kwargs = {
+ 'auth': {
+ 'username': 'testuser',
+ 'password': 'authpass',
+ 'project-id': 'testproject',
+ 'auth_url': 'http://example.com/v2',
+ },
+ 'region_name': 'kwarg_region',
+ 'password': 'ansible_password',
+ 'arbitrary': 'value',
+ }
+
+ args = dict(
+ auth_url='http://example.com/v2',
+ username='user',
+ password='argpass',
+ project_name='project',
+ region_name='region2',
+ snack_type='cookie',
+ )
+
+ options = argparse.Namespace(**args)
+ cc = c.get_one_cloud(
+ argparse=options, **kwargs)
+ self.assertEqual(cc.region_name, 'region2')
+ self.assertEqual(cc.auth['password'], 'argpass')
+ self.assertEqual(cc.snack_type, 'cookie')
+
+ def test_get_one_cloud_precedence_no_argparse(self):
+ c = config.OpenStackConfig(config_files=[self.cloud_yaml],
+ vendor_files=[self.vendor_yaml])
+
+ kwargs = {
+ 'auth': {
+ 'username': 'testuser',
+ 'password': 'authpass',
+ 'project-id': 'testproject',
+ 'auth_url': 'http://example.com/v2',
+ },
+ 'region_name': 'kwarg_region',
+ 'password': 'ansible_password',
+ 'arbitrary': 'value',
+ }
+
+ cc = c.get_one_cloud(**kwargs)
+ self.assertEqual(cc.region_name, 'kwarg_region')
+ self.assertEqual(cc.auth['password'], 'authpass')
+ self.assertIsNone(cc.password)
+
def test_get_one_cloud_just_argparse(self):
c = config.OpenStackConfig(config_files=[self.cloud_yaml],
vendor_files=[self.vendor_yaml])