summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--os_client_config/config.py2
-rw-r--r--os_client_config/tests/test_environ.py40
2 files changed, 41 insertions, 1 deletions
diff --git a/os_client_config/config.py b/os_client_config/config.py
index 8d92c8f..5f7c402 100644
--- a/os_client_config/config.py
+++ b/os_client_config/config.py
@@ -87,7 +87,7 @@ def _get_os_environ(envvar_prefix=None):
# This makes the or below be OS_ or OS_ which is a no-op
envvar_prefix = 'OS_'
environkeys = [k for k in os.environ.keys()
- if k.startswith('OS_') or k.startswith(envvar_prefix)
+ if (k.startswith('OS_') or k.startswith(envvar_prefix))
and not k.startswith('OS_TEST') # infra CI var
and not k.startswith('OS_STD') # infra CI var
]
diff --git a/os_client_config/tests/test_environ.py b/os_client_config/tests/test_environ.py
index 1e804fc..0ff800f 100644
--- a/os_client_config/tests/test_environ.py
+++ b/os_client_config/tests/test_environ.py
@@ -111,3 +111,43 @@ class TestEnviron(base.TestCase):
vendor_files=[self.vendor_yaml])
cc = c.get_one_cloud('_test-cloud_')
self._assert_cloud_details(cc)
+
+
+class TestEnvvars(base.TestCase):
+
+ def test_no_envvars(self):
+ self.useFixture(
+ fixtures.EnvironmentVariable('NOVA_USERNAME', 'nova'))
+ c = config.OpenStackConfig(config_files=[self.cloud_yaml],
+ vendor_files=[self.vendor_yaml])
+ self.assertRaises(
+ exceptions.OpenStackConfigException, c.get_one_cloud, 'envvars')
+
+ def test_test_envvars(self):
+ self.useFixture(
+ fixtures.EnvironmentVariable('NOVA_USERNAME', 'nova'))
+ self.useFixture(
+ fixtures.EnvironmentVariable('OS_STDERR_CAPTURE', 'True'))
+ c = config.OpenStackConfig(config_files=[self.cloud_yaml],
+ vendor_files=[self.vendor_yaml])
+ self.assertRaises(
+ exceptions.OpenStackConfigException, c.get_one_cloud, 'envvars')
+
+ def test_have_envvars(self):
+ self.useFixture(
+ fixtures.EnvironmentVariable('NOVA_USERNAME', 'nova'))
+ self.useFixture(
+ fixtures.EnvironmentVariable('OS_USERNAME', 'user'))
+ c = config.OpenStackConfig(config_files=[self.cloud_yaml],
+ vendor_files=[self.vendor_yaml])
+ cc = c.get_one_cloud('envvars')
+ self.assertEqual(cc.config['auth']['username'], 'user')
+
+ def test_old_envvars(self):
+ self.useFixture(
+ fixtures.EnvironmentVariable('NOVA_USERNAME', 'nova'))
+ c = config.OpenStackConfig(config_files=[self.cloud_yaml],
+ vendor_files=[self.vendor_yaml],
+ envvar_prefix='NOVA_')
+ cc = c.get_one_cloud('envvars')
+ self.assertEqual(cc.config['auth']['username'], 'nova')