Merge "Add the support for 'detail' flag"
This commit is contained in:
		| @@ -37,11 +37,12 @@ class FakeBayModel(BayModel): | ||||
| class ShellTest(shell_test_base.TestCommandLineArgument): | ||||
|  | ||||
|     def _get_expected_args_list(self, limit=None, sort_dir=None, | ||||
|                                 sort_key=None): | ||||
|                                 sort_key=None, detail=False): | ||||
|         expected_args = {} | ||||
|         expected_args['limit'] = limit | ||||
|         expected_args['sort_dir'] = sort_dir | ||||
|         expected_args['sort_key'] = sort_key | ||||
|         expected_args['detail'] = detail | ||||
|  | ||||
|         return expected_args | ||||
|  | ||||
| @@ -549,6 +550,13 @@ class ShellTest(shell_test_base.TestCommandLineArgument): | ||||
|         expected_args = self._get_expected_args_list(1, 'asc', 'uuid') | ||||
|         mock_list.assert_called_once_with(**expected_args) | ||||
|  | ||||
|     @mock.patch('magnumclient.v1.baymodels.BayModelManager.list') | ||||
|     def test_baymodel_list_success_detailed(self, mock_list): | ||||
|         self._test_arg_success('baymodel-list ' | ||||
|                                '--detail') | ||||
|         expected_args = self._get_expected_args_list(detail=True) | ||||
|         mock_list.assert_called_once_with(**expected_args) | ||||
|  | ||||
|     @mock.patch('magnumclient.v1.baymodels.BayModelManager.list') | ||||
|     def test_baymodel_list_ignored_duplicated_field(self, mock_list): | ||||
|         mock_list.return_value = [FakeBayModel()] | ||||
|   | ||||
| @@ -37,11 +37,12 @@ class FakeClusterTemplate(ClusterTemplate): | ||||
| class ShellTest(shell_test_base.TestCommandLineArgument): | ||||
|  | ||||
|     def _get_expected_args_list(self, limit=None, sort_dir=None, | ||||
|                                 sort_key=None): | ||||
|                                 sort_key=None, detail=False): | ||||
|         expected_args = {} | ||||
|         expected_args['limit'] = limit | ||||
|         expected_args['sort_dir'] = sort_dir | ||||
|         expected_args['sort_key'] = sort_key | ||||
|         expected_args['detail'] = detail | ||||
|  | ||||
|         return expected_args | ||||
|  | ||||
| @@ -730,6 +731,14 @@ class ShellTest(shell_test_base.TestCommandLineArgument): | ||||
|         expected_args = self._get_expected_args_list(1, 'asc', 'uuid') | ||||
|         mock_list.assert_called_once_with(**expected_args) | ||||
|  | ||||
|     @mock.patch( | ||||
|         'magnumclient.v1.cluster_templates.ClusterTemplateManager.list') | ||||
|     def test_cluster_template_list_success_detailed(self, mock_list): | ||||
|         self._test_arg_success('cluster-template-list ' | ||||
|                                '--detail') | ||||
|         expected_args = self._get_expected_args_list(detail=True) | ||||
|         mock_list.assert_called_once_with(**expected_args) | ||||
|  | ||||
|     @mock.patch( | ||||
|         'magnumclient.v1.cluster_templates.ClusterTemplateManager.list') | ||||
|     def test_cluster_template_list_ignored_duplicated_field(self, mock_list): | ||||
|   | ||||
| @@ -24,6 +24,11 @@ CREATION_ATTRIBUTES = ['name', 'image_id', 'flavor_id', 'master_flavor_id', | ||||
|                        'docker_storage_driver', 'master_lb_enabled', | ||||
|                        'floating_ip_enabled'] | ||||
|  | ||||
| OUTPUT_ATTRIBUTES = CREATION_ATTRIBUTES + ['apiserver_port', 'created_at', | ||||
|                                            'insecure_registry', 'links', | ||||
|                                            'updated_at', 'cluster_distro', | ||||
|                                            'uuid'] | ||||
|  | ||||
|  | ||||
| class BaseModel(base.Resource): | ||||
|     # model_name needs to be overridden by any derived class. | ||||
|   | ||||
| @@ -15,6 +15,7 @@ | ||||
| from magnumclient.common import cliutils as utils | ||||
| from magnumclient.common import utils as magnum_utils | ||||
| from magnumclient.i18n import _ | ||||
| from magnumclient.v1 import basemodels | ||||
|  | ||||
|  | ||||
| DEPRECATION_MESSAGE = ( | ||||
| @@ -211,6 +212,10 @@ def do_baymodel_show(cs, args): | ||||
|                   'apiserver_port, server_type, tls_disabled, registry_enabled' | ||||
|                   ) | ||||
|            ) | ||||
| @utils.arg('--detail', | ||||
|            action='store_true', default=False, | ||||
|            help=_('Show detailed information about the baymodels.') | ||||
|            ) | ||||
| @utils.deprecated(DEPRECATION_MESSAGE) | ||||
| def do_baymodel_list(cs, args): | ||||
|     """Print a list of baymodels. | ||||
| @@ -219,8 +224,12 @@ def do_baymodel_list(cs, args): | ||||
|     """ | ||||
|     nodes = cs.baymodels.list(limit=args.limit, | ||||
|                               sort_key=args.sort_key, | ||||
|                               sort_dir=args.sort_dir) | ||||
|     columns = ['uuid', 'name'] | ||||
|                               sort_dir=args.sort_dir, | ||||
|                               detail=args.detail) | ||||
|     if args.detail: | ||||
|         columns = basemodels.OUTPUT_ATTRIBUTES | ||||
|     else: | ||||
|         columns = ['uuid', 'name'] | ||||
|     columns += utils._get_list_table_columns_and_formatters( | ||||
|         args.fields, nodes, | ||||
|         exclude_fields=(c.lower() for c in columns))[0] | ||||
|   | ||||
| @@ -15,6 +15,7 @@ | ||||
| from magnumclient.common import cliutils as utils | ||||
| from magnumclient.common import utils as magnum_utils | ||||
| from magnumclient.i18n import _ | ||||
| from magnumclient.v1 import basemodels | ||||
|  | ||||
|  | ||||
| # Maps old parameter names to their new names and whether they are required | ||||
| @@ -259,12 +260,20 @@ def do_cluster_template_show(cs, args): | ||||
|                   'apiserver_port, server_type, tls_disabled, registry_enabled' | ||||
|                   ) | ||||
|            ) | ||||
| @utils.arg('--detail', | ||||
|            action='store_true', default=False, | ||||
|            help=_('Show detailed information about the cluster templates.') | ||||
|            ) | ||||
| def do_cluster_template_list(cs, args): | ||||
|     """Print a list of cluster templates.""" | ||||
|     nodes = cs.cluster_templates.list(limit=args.limit, | ||||
|                                       sort_key=args.sort_key, | ||||
|                                       sort_dir=args.sort_dir) | ||||
|     columns = ['uuid', 'name'] | ||||
|                                       sort_dir=args.sort_dir, | ||||
|                                       detail=args.detail) | ||||
|     if args.detail: | ||||
|         columns = basemodels.OUTPUT_ATTRIBUTES | ||||
|     else: | ||||
|         columns = ['uuid', 'name'] | ||||
|     columns += utils._get_list_table_columns_and_formatters( | ||||
|         args.fields, nodes, | ||||
|         exclude_fields=(c.lower() for c in columns))[0] | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Jenkins
					Jenkins