summaryrefslogtreecommitdiff
path: root/os_client_config/tests
diff options
context:
space:
mode:
authorDean Troyer <dtroyer@gmail.com>2016-08-20 16:14:36 -0500
committerDean Troyer <dtroyer@gmail.com>2016-08-20 17:21:56 -0500
commit17f6847c20bc4b8ea1c8fc48f81bf1eca4ddb0f5 (patch)
treea3556b4c2adec0770deefab15ce0029c476bb886 /os_client_config/tests
parent600a638e74d89af55fceaf4017f70269ae6e4f3c (diff)
downloados-client-config-17f6847c20bc4b8ea1c8fc48f81bf1eca4ddb0f5.tar.gz
Precedence final solution
* Revert most of 'fixed_argparse change' from 1.19.1 * Create a new _validate_auth_correctly() method that contains the logic from 1.19.0 * Create a new get_one_cloud_osc() method for use by OSC to get the correct argument precedence without disrupting anyone else Change-Id: Iae86cc4e267f23dbe8d010688a288db5514f329d
Diffstat (limited to 'os_client_config/tests')
-rw-r--r--os_client_config/tests/test_config.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/os_client_config/tests/test_config.py b/os_client_config/tests/test_config.py
index 5008878..e111388 100644
--- a/os_client_config/tests/test_config.py
+++ b/os_client_config/tests/test_config.py
@@ -402,6 +402,42 @@ class TestConfigArgparse(base.TestCase):
cc = c.get_one_cloud(
argparse=options, **kwargs)
self.assertEqual(cc.region_name, 'region2')
+ self.assertEqual(cc.auth['password'], 'authpass')
+ self.assertEqual(cc.snack_type, 'cookie')
+
+ def test_get_one_cloud_precedence_osc(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_osc(
+ argparse=options,
+ **kwargs
+ )
+ self.assertEqual(cc.region_name, 'region2')
self.assertEqual(cc.auth['password'], 'argpass')
self.assertEqual(cc.snack_type, 'cookie')