Merge "Add test for subcommands"
This commit is contained in:
		| @@ -135,6 +135,7 @@ class OpenStackCinderShell(object): | ||||
|     def __init__(self): | ||||
|         self.ks_logger = None | ||||
|         self.client_logger = None | ||||
|         self.extensions = [] | ||||
|  | ||||
|     def get_base_parser(self): | ||||
|         parser = CinderClientArgumentParser( | ||||
|   | ||||
| @@ -1442,3 +1442,121 @@ class ShellTest(utils.TestCase): | ||||
|             '--os-volume-api-version 3.59 transfer-list') | ||||
|         url = ('/volume-transfers/detail') | ||||
|         self.assert_called('GET', url) | ||||
|  | ||||
|     def test_subcommand_parser(self): | ||||
|         """Ensure that all the expected commands show up. | ||||
|  | ||||
|         This test ensures that refactoring code does not somehow result in | ||||
|         a command accidentally ceasing to exist. | ||||
|  | ||||
|         TODO: add a similar test for 3.59 or so | ||||
|         """ | ||||
|         p = self.shell.get_subcommand_parser(api_versions.APIVersion("3.0"), | ||||
|                                              input_args=['help'], do_help=True) | ||||
|         help_text = p.format_help() | ||||
|  | ||||
|         # These are v3.0 commands only | ||||
|         expected_commands = ('absolute-limits', | ||||
|                              'api-version', | ||||
|                              'availability-zone-list', | ||||
|                              'backup-create', | ||||
|                              'backup-delete', | ||||
|                              'backup-export', | ||||
|                              'backup-import', | ||||
|                              'backup-list', | ||||
|                              'backup-reset-state', | ||||
|                              'backup-restore', | ||||
|                              'backup-show', | ||||
|                              'cgsnapshot-create', | ||||
|                              'cgsnapshot-delete', | ||||
|                              'cgsnapshot-list', | ||||
|                              'cgsnapshot-show', | ||||
|                              'consisgroup-create', | ||||
|                              'consisgroup-create-from-src', | ||||
|                              'consisgroup-delete', | ||||
|                              'consisgroup-list', | ||||
|                              'consisgroup-show', | ||||
|                              'consisgroup-update', | ||||
|                              'create', | ||||
|                              'delete', | ||||
|                              'encryption-type-create', | ||||
|                              'encryption-type-delete', | ||||
|                              'encryption-type-list', | ||||
|                              'encryption-type-show', | ||||
|                              'encryption-type-update', | ||||
|                              'extend', | ||||
|                              'extra-specs-list', | ||||
|                              'failover-host', | ||||
|                              'force-delete', | ||||
|                              'freeze-host', | ||||
|                              'get-capabilities', | ||||
|                              'get-pools', | ||||
|                              'image-metadata', | ||||
|                              'image-metadata-show', | ||||
|                              'list', | ||||
|                              'manage', | ||||
|                              'metadata', | ||||
|                              'metadata-show', | ||||
|                              'metadata-update-all', | ||||
|                              'migrate', | ||||
|                              'qos-associate', | ||||
|                              'qos-create', | ||||
|                              'qos-delete', | ||||
|                              'qos-disassociate', | ||||
|                              'qos-disassociate-all', | ||||
|                              'qos-get-association', | ||||
|                              'qos-key', | ||||
|                              'qos-list', | ||||
|                              'qos-show', | ||||
|                              'quota-class-show', | ||||
|                              'quota-class-update', | ||||
|                              'quota-defaults', | ||||
|                              'quota-delete', | ||||
|                              'quota-show', | ||||
|                              'quota-update', | ||||
|                              'quota-usage', | ||||
|                              'rate-limits', | ||||
|                              'readonly-mode-update', | ||||
|                              'rename', | ||||
|                              'reset-state', | ||||
|                              'retype', | ||||
|                              'service-disable', | ||||
|                              'service-enable', | ||||
|                              'service-list', | ||||
|                              'set-bootable', | ||||
|                              'show', | ||||
|                              'snapshot-create', | ||||
|                              'snapshot-delete', | ||||
|                              'snapshot-list', | ||||
|                              'snapshot-manage', | ||||
|                              'snapshot-metadata', | ||||
|                              'snapshot-metadata-show', | ||||
|                              'snapshot-metadata-update-all', | ||||
|                              'snapshot-rename', | ||||
|                              'snapshot-reset-state', | ||||
|                              'snapshot-show', | ||||
|                              'snapshot-unmanage', | ||||
|                              'thaw-host', | ||||
|                              'transfer-accept', | ||||
|                              'transfer-create', | ||||
|                              'transfer-delete', | ||||
|                              'transfer-list', | ||||
|                              'transfer-show', | ||||
|                              'type-access-add', | ||||
|                              'type-access-list', | ||||
|                              'type-access-remove', | ||||
|                              'type-create', | ||||
|                              'type-default', | ||||
|                              'type-delete', | ||||
|                              'type-key', | ||||
|                              'type-list', | ||||
|                              'type-show', | ||||
|                              'type-update', | ||||
|                              'unmanage', | ||||
|                              'upload-to-image', | ||||
|                              'version-list', | ||||
|                              'bash-completion', | ||||
|                              'help',) | ||||
|  | ||||
|         for e in expected_commands: | ||||
|             self.assertIn('    ' + e, help_text) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Zuul
					Zuul