From d7bf1592c58b688476632ce44e20614b3333a067 Mon Sep 17 00:00:00 2001 From: "zhiyong.dai" Date: Sat, 26 Nov 2016 19:29:30 +0800 Subject: [PATCH] Functional test for configuration Using json format output in configuration show functional test. Change-Id: I005b361ae70ced3f6cef77291db1d39dafb0793c --- .../functional/common/test_configuration.py | 43 ++++++++++++++----- 1 file changed, 33 insertions(+), 10 deletions(-) diff --git a/openstackclient/tests/functional/common/test_configuration.py b/openstackclient/tests/functional/common/test_configuration.py index f47d3b0078..63a17d0e77 100644 --- a/openstackclient/tests/functional/common/test_configuration.py +++ b/openstackclient/tests/functional/common/test_configuration.py @@ -10,6 +10,7 @@ # License for the specific language governing permissions and limitations # under the License. +import json import os from openstackclient.common import configuration @@ -20,25 +21,47 @@ BASIC_CONFIG_HEADERS = ['Field', 'Value'] class ConfigurationTests(base.TestCase): - - opts = "-f value -c auth.password" + """Functional test for configuration.""" def test_configuration_show(self): + + # Test show without option raw_output = self.openstack('configuration show') items = self.parse_listing(raw_output) self.assert_table_structure(items, BASIC_CONFIG_HEADERS) - def test_configuration_show_unmask(self): - raw_output = self.openstack('configuration show --unmask ' + self.opts) + cmd_output = json.loads(self.openstack( + 'configuration show -f json' + )) + self.assertEqual( + configuration.REDACTED, + cmd_output['auth.password'] + ) + + # Test show --mask + cmd_output = json.loads(self.openstack( + 'configuration show --mask -f json' + )) + self.assertEqual( + configuration.REDACTED, + cmd_output['auth.password'] + ) + + # Test show --unmask + cmd_output = json.loads(self.openstack( + 'configuration show --unmask -f json' + )) # If we are using os-client-config, this will not be set. Rather than # parse clouds.yaml to get the right value, just make sure # we are not getting redacted. passwd = os.environ.get('OS_PASSWORD') if passwd: - self.assertEqual(passwd + '\n', raw_output) + self.assertEqual( + passwd, + cmd_output['auth.password'] + ) else: - self.assertNotEqual(configuration.REDACTED + '\n', raw_output) - - def test_configuration_show_mask(self): - raw_output = self.openstack('configuration show --mask ' + self.opts) - self.assertEqual(configuration.REDACTED + '\n', raw_output) + self.assertNotEqual( + configuration.REDACTED, + cmd_output['auth.password'] + )