diff options
author | Monty Taylor <mordred@inaugust.com> | 2016-08-05 06:36:14 -0500 |
---|---|---|
committer | Monty Taylor <mordred@inaugust.com> | 2016-08-05 06:36:14 -0500 |
commit | cfa87b1e7f3d6325c4f0ef9f4d2985948e4d99d3 (patch) | |
tree | d65bb9fff6d353ad7af67e0a8603898ad5aed510 | |
parent | ddfed7f2fbabd1eba3b6ac700cee065c070433a7 (diff) | |
download | os-client-config-cfa87b1e7f3d6325c4f0ef9f4d2985948e4d99d3.tar.gz |
Add test for precedence rules
This should cover both the OSC and the ansible incoming use cases.
Change-Id: I3fdc83837692d31c5579d91892a387a5d1023785
-rw-r--r-- | os_client_config/tests/test_config.py | 53 |
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]) |