diff --git a/ironicclient/tests/unit/v1/test_chassis_shell.py b/ironicclient/tests/unit/v1/test_chassis_shell.py index ed1239514..379d45d5f 100644 --- a/ironicclient/tests/unit/v1/test_chassis_shell.py +++ b/ironicclient/tests/unit/v1/test_chassis_shell.py @@ -100,11 +100,11 @@ class ChassisShellTest(utils.BaseTestCase): def test_do_chassis_list_sort_key(self): client_mock = mock.MagicMock() - args = self._get_client_mock_args(sort_key='uuid', + args = self._get_client_mock_args(sort_key='created_at', detail=False) c_shell.do_chassis_list(client_mock, args) - client_mock.chassis.list.assert_called_once_with(sort_key='uuid', + client_mock.chassis.list.assert_called_once_with(sort_key='created_at', detail=False) def test_do_chassis_list_wrong_sort_key(self): @@ -197,18 +197,19 @@ class ChassisShellTest(utils.BaseTestCase): def test_do_chassis_node_list_sort_key(self): client_mock = mock.MagicMock() chassis_mock = mock.MagicMock(spec_set=[]) - args = self._get_client_mock_args(chassis_mock, sort_key='uuid', + args = self._get_client_mock_args(chassis_mock, sort_key='created_at', detail=False) c_shell.do_chassis_node_list(client_mock, args) client_mock.chassis.list_nodes.assert_called_once_with( - chassis_mock, sort_key='uuid', detail=False) + chassis_mock, sort_key='created_at', detail=False) def test_do_chassis_node_list_wrong_sort_key(self): client_mock = mock.MagicMock() chassis_mock = mock.MagicMock(spec_set=[]) args = self._get_client_mock_args(chassis_mock, sort_key='extra', detail=False) + self.assertRaises(exceptions.CommandError, c_shell.do_chassis_node_list, client_mock, args) @@ -224,6 +225,17 @@ class ChassisShellTest(utils.BaseTestCase): client_mock.chassis.list_nodes.assert_called_once_with( chassis_mock, sort_key='created_at', detail=True) + def test_do_chassis_node_list_detail_wrong_sort_key(self): + client_mock = mock.MagicMock() + chassis_mock = mock.MagicMock(spec_set=[]) + args = self._get_client_mock_args(chassis_mock, sort_key='extra', + detail=True) + + self.assertRaises(exceptions.CommandError, + c_shell.do_chassis_node_list, + client_mock, args) + self.assertFalse(client_mock.chassis.list_nodes.called) + def test_do_chassis_node_list_sort_dir(self): client_mock = mock.MagicMock() chassis_mock = mock.MagicMock(spec_set=[]) diff --git a/ironicclient/tests/unit/v1/test_node_shell.py b/ironicclient/tests/unit/v1/test_node_shell.py index bce6559d2..9df3d479c 100644 --- a/ironicclient/tests/unit/v1/test_node_shell.py +++ b/ironicclient/tests/unit/v1/test_node_shell.py @@ -570,11 +570,11 @@ class NodeShellTest(utils.BaseTestCase): def test_do_node_list_sort_key(self): client_mock = mock.MagicMock() - args = self._get_client_mock_args(sort_key='uuid', + args = self._get_client_mock_args(sort_key='created_at', detail=False) n_shell.do_node_list(client_mock, args) - client_mock.node.list.assert_called_once_with(sort_key='uuid', + client_mock.node.list.assert_called_once_with(sort_key='created_at', detail=False) def test_do_node_list_wrong_sort_key(self): @@ -710,18 +710,19 @@ class NodeShellTest(utils.BaseTestCase): def test_do_node_port_list_sort_key(self): client_mock = mock.MagicMock() node_mock = mock.MagicMock(spec_set=[]) - args = self._get_client_mock_args(node=node_mock, sort_key='uuid', + args = self._get_client_mock_args(node=node_mock, + sort_key='created_at', detail=False) n_shell.do_node_port_list(client_mock, args) client_mock.node.list_ports.assert_called_once_with( - node_mock, sort_key='uuid', detail=False) + node_mock, sort_key='created_at', detail=False) def test_do_node_port_list_wrong_sort_key(self): client_mock = mock.MagicMock() node_mock = mock.MagicMock(spec_set=[]) args = self._get_client_mock_args(node=node_mock, - sort_key='chassis_uuid', + sort_key='node_uuid', detail=False) self.assertRaises(exceptions.CommandError, @@ -744,7 +745,7 @@ class NodeShellTest(utils.BaseTestCase): client_mock = mock.MagicMock() node_mock = mock.MagicMock(spec_set=[]) args = self._get_client_mock_args(node=node_mock, - sort_key='chassis_uuid', + sort_key='node_uuid', detail=True) self.assertRaises(exceptions.CommandError, diff --git a/ironicclient/v1/chassis_shell.py b/ironicclient/v1/chassis_shell.py index 053e0f0ee..67e681ec6 100644 --- a/ironicclient/v1/chassis_shell.py +++ b/ironicclient/v1/chassis_shell.py @@ -88,21 +88,18 @@ def do_chassis_list(cc, args): if args.detail: fields = res_fields.CHASSIS_DETAILED_RESOURCE.fields field_labels = res_fields.CHASSIS_DETAILED_RESOURCE.labels - sort_fields = res_fields.CHASSIS_DETAILED_RESOURCE.sort_fields - sort_field_labels = res_fields.CHASSIS_DETAILED_RESOURCE.sort_labels elif args.fields: utils.check_for_invalid_fields( args.fields[0], res_fields.CHASSIS_DETAILED_RESOURCE.fields) resource = res_fields.Resource(args.fields[0]) fields = resource.fields field_labels = resource.labels - sort_fields = res_fields.CHASSIS_DETAILED_RESOURCE.sort_fields - sort_field_labels = res_fields.CHASSIS_DETAILED_RESOURCE.sort_labels else: fields = res_fields.CHASSIS_RESOURCE.fields field_labels = res_fields.CHASSIS_RESOURCE.labels - sort_fields = fields - sort_field_labels = field_labels + + sort_fields = res_fields.CHASSIS_DETAILED_RESOURCE.sort_fields + sort_field_labels = res_fields.CHASSIS_DETAILED_RESOURCE.sort_labels params = utils.common_params_for_list(args, sort_fields, sort_field_labels) @@ -243,9 +240,12 @@ def do_chassis_node_list(cc, args): fields = res_fields.NODE_RESOURCE.fields field_labels = res_fields.NODE_RESOURCE.labels + sort_fields = res_fields.NODE_DETAILED_RESOURCE.sort_fields + sort_field_labels = res_fields.NODE_DETAILED_RESOURCE.sort_labels + params.update(utils.common_params_for_list(args, - fields, - field_labels)) + sort_fields, + sort_field_labels)) nodes = cc.chassis.list_nodes(args.chassis, **params) cliutils.print_list(nodes, fields, diff --git a/ironicclient/v1/node_shell.py b/ironicclient/v1/node_shell.py index 489d369c2..a47f822f3 100644 --- a/ironicclient/v1/node_shell.py +++ b/ironicclient/v1/node_shell.py @@ -127,21 +127,18 @@ def do_node_list(cc, args): if args.detail: fields = res_fields.NODE_DETAILED_RESOURCE.fields field_labels = res_fields.NODE_DETAILED_RESOURCE.labels - sort_fields = res_fields.NODE_DETAILED_RESOURCE.sort_fields - sort_field_labels = res_fields.NODE_DETAILED_RESOURCE.sort_labels elif args.fields: utils.check_for_invalid_fields( args.fields[0], res_fields.NODE_DETAILED_RESOURCE.fields) resource = res_fields.Resource(args.fields[0]) fields = resource.fields field_labels = resource.labels - sort_fields = res_fields.NODE_DETAILED_RESOURCE.sort_fields - sort_field_labels = res_fields.NODE_DETAILED_RESOURCE.sort_labels else: fields = res_fields.NODE_RESOURCE.fields field_labels = res_fields.NODE_RESOURCE.labels - sort_fields = fields - sort_field_labels = field_labels + + sort_fields = res_fields.NODE_DETAILED_RESOURCE.sort_fields + sort_field_labels = res_fields.NODE_DETAILED_RESOURCE.sort_labels params.update(utils.common_params_for_list(args, sort_fields, @@ -334,7 +331,11 @@ def do_node_port_list(cc, args): fields = res_fields.PORT_RESOURCE.fields field_labels = res_fields.PORT_RESOURCE.labels - params = utils.common_params_for_list(args, fields, field_labels) + sort_fields = res_fields.PORT_DETAILED_RESOURCE.sort_fields + sort_field_labels = res_fields.PORT_DETAILED_RESOURCE.sort_labels + + params = utils.common_params_for_list(args, sort_fields, + sort_field_labels) ports = cc.node.list_ports(args.node, **params) cliutils.print_list(ports, fields, diff --git a/ironicclient/v1/port_shell.py b/ironicclient/v1/port_shell.py index 43a883bd8..1851d34b8 100644 --- a/ironicclient/v1/port_shell.py +++ b/ironicclient/v1/port_shell.py @@ -108,21 +108,18 @@ def do_port_list(cc, args): if args.detail: fields = res_fields.PORT_DETAILED_RESOURCE.fields field_labels = res_fields.PORT_DETAILED_RESOURCE.labels - sort_fields = res_fields.PORT_DETAILED_RESOURCE.sort_fields - sort_field_labels = res_fields.PORT_DETAILED_RESOURCE.sort_labels elif args.fields: utils.check_for_invalid_fields( args.fields[0], res_fields.PORT_DETAILED_RESOURCE.fields) resource = res_fields.Resource(args.fields[0]) fields = resource.fields field_labels = resource.labels - sort_fields = res_fields.PORT_DETAILED_RESOURCE.sort_fields - sort_field_labels = res_fields.PORT_DETAILED_RESOURCE.sort_labels else: fields = res_fields.PORT_RESOURCE.fields field_labels = res_fields.PORT_RESOURCE.labels - sort_fields = fields - sort_field_labels = field_labels + + sort_fields = res_fields.PORT_DETAILED_RESOURCE.sort_fields + sort_field_labels = res_fields.PORT_DETAILED_RESOURCE.sort_labels params.update(utils.common_params_for_list(args, sort_fields,