Functional test for configuration
Using json format output in configuration show functional test. Change-Id: I005b361ae70ced3f6cef77291db1d39dafb0793c
This commit is contained in:
		| @@ -10,6 +10,7 @@ | |||||||
| #    License for the specific language governing permissions and limitations | #    License for the specific language governing permissions and limitations | ||||||
| #    under the License. | #    under the License. | ||||||
|  |  | ||||||
|  | import json | ||||||
| import os | import os | ||||||
|  |  | ||||||
| from openstackclient.common import configuration | from openstackclient.common import configuration | ||||||
| @@ -20,25 +21,47 @@ BASIC_CONFIG_HEADERS = ['Field', 'Value'] | |||||||
|  |  | ||||||
|  |  | ||||||
| class ConfigurationTests(base.TestCase): | class ConfigurationTests(base.TestCase): | ||||||
|  |     """Functional test for configuration.""" | ||||||
|     opts = "-f value -c auth.password" |  | ||||||
|  |  | ||||||
|     def test_configuration_show(self): |     def test_configuration_show(self): | ||||||
|  |  | ||||||
|  |         # Test show without option | ||||||
|         raw_output = self.openstack('configuration show') |         raw_output = self.openstack('configuration show') | ||||||
|         items = self.parse_listing(raw_output) |         items = self.parse_listing(raw_output) | ||||||
|         self.assert_table_structure(items, BASIC_CONFIG_HEADERS) |         self.assert_table_structure(items, BASIC_CONFIG_HEADERS) | ||||||
|  |  | ||||||
|     def test_configuration_show_unmask(self): |         cmd_output = json.loads(self.openstack( | ||||||
|         raw_output = self.openstack('configuration show --unmask ' + self.opts) |             '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 |         # 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 |         # parse clouds.yaml to get the right value, just make sure | ||||||
|         # we are not getting redacted. |         # we are not getting redacted. | ||||||
|         passwd = os.environ.get('OS_PASSWORD') |         passwd = os.environ.get('OS_PASSWORD') | ||||||
|         if passwd: |         if passwd: | ||||||
|             self.assertEqual(passwd + '\n', raw_output) |             self.assertEqual( | ||||||
|  |                 passwd, | ||||||
|  |                 cmd_output['auth.password'] | ||||||
|  |             ) | ||||||
|         else: |         else: | ||||||
|             self.assertNotEqual(configuration.REDACTED + '\n', raw_output) |             self.assertNotEqual( | ||||||
|  |                 configuration.REDACTED, | ||||||
|     def test_configuration_show_mask(self): |                 cmd_output['auth.password'] | ||||||
|         raw_output = self.openstack('configuration show --mask ' + self.opts) |             ) | ||||||
|         self.assertEqual(configuration.REDACTED + '\n', raw_output) |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 zhiyong.dai
					zhiyong.dai