From 842c1c3c0187bbb407fd532c80bf529edad1dbbf Mon Sep 17 00:00:00 2001 From: "Yuanbin.Chen" Date: Thu, 22 Feb 2018 16:12:03 +0800 Subject: [PATCH] Fix request version returns value handling error. The request version is processed in the senlin code, so there are different return values. The senlinclient should do different things. Change-Id: I1091377e18e5e57d6c605d42ec40bd5b75625a3b Closes-Bug: #1750964 --- senlinclient/tests/unit/v1/test_policy_type.py | 11 +++++++++-- senlinclient/tests/unit/v1/test_profile_type.py | 5 +++++ senlinclient/v1/policy_type.py | 16 ++++++++++------ senlinclient/v1/profile_type.py | 16 ++++++++++------ 4 files changed, 34 insertions(+), 14 deletions(-) diff --git a/senlinclient/tests/unit/v1/test_policy_type.py b/senlinclient/tests/unit/v1/test_policy_type.py index c9ea57eb..f4d82c9b 100644 --- a/senlinclient/tests/unit/v1/test_policy_type.py +++ b/senlinclient/tests/unit/v1/test_policy_type.py @@ -55,11 +55,18 @@ class TestPolicyTypeList(TestPolicyType): def test_policy_type_list(self): arglist = [] parsed_args = self.check_parser(self.cmd, arglist, []) + expected_columns = self.expected_columns + expected_rows = self.expected_rows columns, rows = self.cmd.take_action(parsed_args) + if len(columns) == 2: + expected_columns = ['name', 'version'] + expected_rows = [ + ('CCC', '1.0') + ] self.mock_client.policy_types.assert_called_with() - self.assertEqual(self.expected_columns, columns) - self.assertEqual(self.expected_rows, rows) + self.assertEqual(expected_columns, columns) + self.assertEqual(expected_rows, rows) class TestPolicyTypeShow(TestPolicyType): diff --git a/senlinclient/tests/unit/v1/test_profile_type.py b/senlinclient/tests/unit/v1/test_profile_type.py index 9ece29b3..1f4b0c8e 100644 --- a/senlinclient/tests/unit/v1/test_profile_type.py +++ b/senlinclient/tests/unit/v1/test_profile_type.py @@ -55,6 +55,11 @@ class TestProfileTypeList(TestProfileType): expected_columns = ['name', 'version', 'support_status'] columns, rows = self.cmd.take_action(parsed_args) + if len(columns) == 2: + expected_columns = ['name', 'version'] + expected_rows = [ + ('CCC', '1.0') + ] self.mock_client.profile_types.assert_called_with() self.assertEqual(expected_columns, columns) diff --git a/senlinclient/v1/policy_type.py b/senlinclient/v1/policy_type.py index 5d55bbc3..b06a7c08 100644 --- a/senlinclient/v1/policy_type.py +++ b/senlinclient/v1/policy_type.py @@ -38,13 +38,17 @@ class PolicyTypeList(command.Lister): columns = ['name', 'version', 'support_status'] results = [] for t in types: - for v in t.support_status.keys(): - st_list = '\n'.join([ - ' since '.join((item['status'], item['since'])) - for item in t.support_status[v] - ]) + if t.support_status: + for v in t.support_status.keys(): + st_list = '\n'.join([ + ' since '.join((item['status'], item['since'])) + for item in t.support_status[v] + ]) - results.append((t.name, v, st_list)) + results.append((t.name, v, st_list)) + else: + columns = ['name', 'version'] + results.append((t.name.split('-')[0], t.name.split('-')[1])) return columns, sorted(results) diff --git a/senlinclient/v1/profile_type.py b/senlinclient/v1/profile_type.py index 33359531..79f653c7 100644 --- a/senlinclient/v1/profile_type.py +++ b/senlinclient/v1/profile_type.py @@ -39,13 +39,17 @@ class ProfileTypeList(command.Lister): results = [] for t in types: - for v in t.support_status.keys(): - st_list = '\n'.join([ - ' since '.join((item['status'], item['since'])) - for item in t.support_status[v] - ]) + if t.support_status: + for v in t.support_status.keys(): + st_list = '\n'.join([ + ' since '.join((item['status'], item['since'])) + for item in t.support_status[v] + ]) - results.append((t.name, v, st_list)) + results.append((t.name, v, st_list)) + else: + columns = ['name', 'version'] + results.append((t.name.split('-')[0], t.name.split('-')[1])) return columns, sorted(results)