From 769a517a0a6038fc3c650497891a2b9ab361545f Mon Sep 17 00:00:00 2001 From: tengqm Date: Mon, 18 Jan 2016 04:10:17 -0500 Subject: [PATCH] Add back show_details for node-show We temporarily removed 'show_details' support due to SDK support. This feature is not part of SDK now after the following patch is merged. This patch proposes adding back the support. https://review.openstack.org/262367 Change-Id: Iac00a927b0ebf9cbfe81d73b021c9ed4304f9985 --- senlinclient/tests/unit/v1/test_client.py | 11 ++++++++++- senlinclient/tests/unit/v1/test_shell.py | 2 +- senlinclient/v1/client.py | 4 ++-- senlinclient/v1/shell.py | 4 ++-- 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/senlinclient/tests/unit/v1/test_client.py b/senlinclient/tests/unit/v1/test_client.py index 555c698c..9b3b8450 100644 --- a/senlinclient/tests/unit/v1/test_client.py +++ b/senlinclient/tests/unit/v1/test_client.py @@ -318,7 +318,16 @@ class ClientTest(testtools.TestCase): res = sc.get_node('FOOBAR') self.assertEqual(self.service.get_node.return_value, res) - self.service.get_node.assert_called_once_with('FOOBAR') + self.service.get_node.assert_called_once_with('FOOBAR', args=None) + + def test_get_node_with_details(self, mock_conn): + mock_conn.return_value = self.conn + sc = client.Client() + + res = sc.get_node('FOOBAR', args={'show_details': True}) + self.assertEqual(self.service.get_node.return_value, res) + self.service.get_node.assert_called_once_with( + 'FOOBAR', args={'show_details': True}) def test_create_node(self, mock_conn): mock_conn.return_value = self.conn diff --git a/senlinclient/tests/unit/v1/test_shell.py b/senlinclient/tests/unit/v1/test_shell.py index 3ab04f33..5ad0fa73 100644 --- a/senlinclient/tests/unit/v1/test_shell.py +++ b/senlinclient/tests/unit/v1/test_shell.py @@ -1083,7 +1083,7 @@ class ShellTest(testtools.TestCase): sh._show_node(service, node_id, show_details=False) - service.get_node.assert_called_once_with(node_id) + service.get_node.assert_called_once_with(node_id, args=None) mock_print.assert_called_once_with(data, formatters=formatters) @mock.patch.object(sh, '_show_node') diff --git a/senlinclient/v1/client.py b/senlinclient/v1/client.py index e71d9f65..7573918c 100644 --- a/senlinclient/v1/client.py +++ b/senlinclient/v1/client.py @@ -119,8 +119,8 @@ class Client(object): def create_node(self, **attrs): return self.service.create_node(**attrs) - def get_node(self, node, show_details=False): - return self.service.get_node(node) + def get_node(self, node, args=None): + return self.service.get_node(node, args=args) def update_node(self, node, **attrs): return self.service.update_node(node, **attrs) diff --git a/senlinclient/v1/shell.py b/senlinclient/v1/shell.py index 8e98119a..75e78124 100644 --- a/senlinclient/v1/shell.py +++ b/senlinclient/v1/shell.py @@ -843,9 +843,9 @@ def do_node_list(service, args): def _show_node(service, node_id, show_details=False): """Show detailed info about the specified node.""" - # TODO(Qiming): Re-enable show_details after SDK adopts related patch. + args = {'show_details': True} if show_details else None try: - node = service.get_node(node_id) + node = service.get_node(node_id, args=args) except exc.HTTPNotFound: msg = _('Node %s is not found') % node_id raise exc.CommandError(msg)