diff --git a/senlinclient/osc/v1/cluster.py b/senlinclient/osc/v1/cluster.py index 5968aa9..fd89e7d 100644 --- a/senlinclient/osc/v1/cluster.py +++ b/senlinclient/osc/v1/cluster.py @@ -255,7 +255,10 @@ class UpdateCluster(show.ShowOne): def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) senlin_client = self.app.client_manager.clustering - cluster = senlin_client.get_cluster(parsed_args.cluster) + cluster = senlin_client.find_cluster(parsed_args.cluster) + if cluster is None: + raise exc.CommandError(_('Cluster not found: %s') % + parsed_args.cluster) attrs = { 'name': parsed_args.name, 'profile_id': parsed_args.profile, diff --git a/senlinclient/osc/v1/node.py b/senlinclient/osc/v1/node.py index 3526f34..387af28 100644 --- a/senlinclient/osc/v1/node.py +++ b/senlinclient/osc/v1/node.py @@ -264,9 +264,8 @@ class UpdateNode(show.ShowOne): senlin_client = self.app.client_manager.clustering # Find the node first, we need its UUID - try: - node = senlin_client.get_node(parsed_args.node) - except sdk_exc.ResourceNotFound: + node = senlin_client.find_node(parsed_args.node) + if node is None: raise exc.CommandError(_('Node not found: %s') % parsed_args.node) attrs = { @@ -276,7 +275,7 @@ class UpdateNode(show.ShowOne): 'metadata': senlin_utils.format_parameters(parsed_args.metadata), } - senlin_client.update_node(parsed_args.node, **attrs) + senlin_client.update_node(node.id, **attrs) return _show_node(senlin_client, node.id) diff --git a/senlinclient/osc/v1/policy.py b/senlinclient/osc/v1/policy.py index 6c5d3a4..f4bd00d 100644 --- a/senlinclient/osc/v1/policy.py +++ b/senlinclient/osc/v1/policy.py @@ -211,11 +211,12 @@ class UpdatePolicy(show.ShowOne): params = { 'name': parsed_args.name, } - - policy = senlin_client.get_policy(parsed_args.policy) - if policy is not None: - senlin_client.update_policy(policy.id, **params) - return _show_policy(senlin_client, policy_id=policy.id) + policy = senlin_client.find_policy(parsed_args.policy) + if policy is None: + raise exc.CommandError(_('Policy not found: %s') % + parsed_args.policy) + senlin_client.update_policy(policy.id, **params) + return _show_policy(senlin_client, policy_id=policy.id) class DeletePolicy(command.Command): diff --git a/senlinclient/osc/v1/profile.py b/senlinclient/osc/v1/profile.py index 5e9376e..cfd0602 100644 --- a/senlinclient/osc/v1/profile.py +++ b/senlinclient/osc/v1/profile.py @@ -303,9 +303,8 @@ class UpdateProfile(show.ShowOne): parsed_args.metadata) # Find the profile first, we need its id - try: - profile = senlin_client.get_profile(parsed_args.profile) - except sdk_exc.ResourceNotFound: + profile = senlin_client.find_profile(parsed_args.profile) + if profile is None: raise exc.CommandError(_('Profile not found: %s') % parsed_args.profile) senlin_client.update_profile(profile.id, **params) diff --git a/senlinclient/tests/unit/osc/v1/test_action.py b/senlinclient/tests/unit/osc/v1/test_action.py index a6cb553..f2df79a 100644 --- a/senlinclient/tests/unit/osc/v1/test_action.py +++ b/senlinclient/tests/unit/osc/v1/test_action.py @@ -83,7 +83,7 @@ class TestActionList(TestAction): super(TestActionList, self).setUp() self.cmd = osc_action.ListAction(self.app, None) self.mock_client.actions = mock.Mock( - return_value=sdk_action.Action(None, {})) + return_value=self.response) def test_action_list_defaults(self): arglist = [] @@ -184,7 +184,7 @@ class TestActionShow(TestAction): super(TestActionShow, self).setUp() self.cmd = osc_action.ShowAction(self.app, None) self.mock_client.get_action = mock.Mock( - return_value=sdk_action.Action(None, self.get_response)) + return_value=sdk_action.Action(attrs=self.get_response)) def test_action_show(self): arglist = ['my_action'] diff --git a/senlinclient/tests/unit/osc/v1/test_cluster.py b/senlinclient/tests/unit/osc/v1/test_cluster.py index 9f6cf64..c133c49 100644 --- a/senlinclient/tests/unit/osc/v1/test_cluster.py +++ b/senlinclient/tests/unit/osc/v1/test_cluster.py @@ -71,7 +71,7 @@ class TestClusterList(TestCluster): super(TestClusterList, self).setUp() self.cmd = osc_cluster.ListCluster(self.app, None) self.mock_client.clusters = mock.Mock( - return_value=sdk_cluster.Cluster(None, {})) + return_value=self.response) def test_cluster_list_defaults(self): arglist = [] @@ -174,7 +174,8 @@ class TestClusterShow(TestCluster): super(TestClusterShow, self).setUp() self.cmd = osc_cluster.ShowCluster(self.app, None) self.mock_client.get_cluster = mock.Mock( - return_value=sdk_cluster.Cluster(None, self.get_response)) + return_value=sdk_cluster.Cluster( + attrs=self.get_response['cluster'])) def test_cluster_show(self): arglist = ['my_cluster'] @@ -230,9 +231,9 @@ class TestClusterCreate(TestCluster): super(TestClusterCreate, self).setUp() self.cmd = osc_cluster.CreateCluster(self.app, None) self.mock_client.create_cluster = mock.Mock( - return_value=sdk_cluster.Cluster(None, self.response)) + return_value=sdk_cluster.Cluster(attrs=self.response['cluster'])) self.mock_client.get_cluster = mock.Mock( - return_value=sdk_cluster.Cluster(None, self.response)) + return_value=sdk_cluster.Cluster(attrs=self.response['cluster'])) def test_cluster_create_defaults(self): arglist = ['test_cluster', '--profile', 'mystack'] @@ -300,27 +301,29 @@ class TestClusterUpdate(TestCluster): super(TestClusterUpdate, self).setUp() self.cmd = osc_cluster.UpdateCluster(self.app, None) self.mock_client.update_cluster = mock.Mock( - return_value=sdk_cluster.Cluster(None, self.response)) + return_value=sdk_cluster.Cluster(attrs=self.response['cluster'])) self.mock_client.get_cluster = mock.Mock( - return_value=sdk_cluster.Cluster(None, self.response)) + return_value=sdk_cluster.Cluster(attrs=self.response['cluster'])) + self.mock_client.find_cluster = mock.Mock( + return_value=sdk_cluster.Cluster(attrs=self.response['cluster'])) def test_cluster_update_defaults(self): arglist = ['--name', 'new_cluster', '--metadata', 'nk1=nv1;nk2=nv2', - '--profile', 'new_profile', '--timeout', '30', 'c6b8b252'] + '--profile', 'new_profile', '--timeout', '30', '45edadcb'] parsed_args = self.check_parser(self.cmd, arglist, []) self.cmd.take_action(parsed_args) - self.mock_client.update_cluster.assert_called_with(None, - **self.defaults) + self.mock_client.update_cluster.assert_called_with( + '45edadcb-c73b-4920-87e1-518b2f29f54b', **self.defaults) def test_cluster_update_not_found(self): arglist = ['--name', 'new_cluster', '--metadata', 'nk1=nv1;nk2=nv2', '--profile', 'new_profile', 'c6b8b252'] parsed_args = self.check_parser(self.cmd, arglist, []) - self.mock_client.get_cluster.side_effect = sdk_exc.ResourceNotFound() - error = self.assertRaises(sdk_exc.ResourceNotFound, + self.mock_client.find_cluster.return_value = None + error = self.assertRaises(exc.CommandError, self.cmd.take_action, parsed_args) - self.assertIn('ResourceNotFound: ResourceNotFound', str(error)) + self.assertIn('Cluster not found: c6b8b252', str(error)) class TestClusterDelete(TestCluster): diff --git a/senlinclient/tests/unit/osc/v1/test_node.py b/senlinclient/tests/unit/osc/v1/test_node.py index 4bdfb8b..b7c84c0 100644 --- a/senlinclient/tests/unit/osc/v1/test_node.py +++ b/senlinclient/tests/unit/osc/v1/test_node.py @@ -68,8 +68,7 @@ class TestNodeList(TestNode): def setUp(self): super(TestNodeList, self).setUp() self.cmd = osc_node.ListNode(self.app, None) - self.mock_client.nodes = mock.Mock( - return_value=sdk_node.Node(None, {})) + self.mock_client.nodes = mock.Mock(return_value=self.response) def test_node_list_defaults(self): arglist = [] @@ -172,7 +171,7 @@ class TestNodeShow(TestNode): super(TestNodeShow, self).setUp() self.cmd = osc_node.ShowNode(self.app, None) self.mock_client.get_node = mock.Mock( - return_value=sdk_node.Node(None, self.get_response)) + return_value=sdk_node.Node(attrs=self.get_response['node'])) def test_node_show(self): arglist = ['my_node'] @@ -231,9 +230,9 @@ class TestNodeCreate(TestNode): super(TestNodeCreate, self).setUp() self.cmd = osc_node.CreateNode(self.app, None) self.mock_client.create_node = mock.Mock( - return_value=sdk_node.Node(None, self.response)) + return_value=sdk_node.Node(attrs=self.response['node'])) self.mock_client.get_node = mock.Mock( - return_value=sdk_node.Node(None, self.response)) + return_value=sdk_node.Node(attrs=self.response['node'])) def test_node_create_defaults(self): arglist = ['my_node', '--profile', 'mystack'] @@ -306,25 +305,27 @@ class TestNodeUpdate(TestNode): super(TestNodeUpdate, self).setUp() self.cmd = osc_node.UpdateNode(self.app, None) self.mock_client.update_node = mock.Mock( - return_value=sdk_node.Node(None, self.response)) + return_value=sdk_node.Node(attrs=self.response['node'])) self.mock_client.get_node = mock.Mock( - return_value=sdk_node.Node(None, self.response)) + return_value=sdk_node.Node(attrs=self.response['node'])) + self.mock_client.find_node = mock.Mock( + return_value=sdk_node.Node(attrs=self.response['node'])) def test_node_update_defaults(self): arglist = ['--name', 'new_node', '--metadata', 'nk1=nv1;nk2=nv2', '--profile', 'new_profile', '--role', 'new_role', - 'c6b8b252'] + '0df0931b'] parsed_args = self.check_parser(self.cmd, arglist, []) self.cmd.take_action(parsed_args) - self.mock_client.update_node.assert_called_with('c6b8b252', - **self.defaults) + self.mock_client.update_node.assert_called_with( + '0df0931b-e251-4f2e-8719-4ebfda3627ba', **self.defaults) def test_node_update_not_found(self): arglist = ['--name', 'new_node', '--metadata', 'nk1=nv1;nk2=nv2', '--profile', 'new_profile', '--role', 'new_role', 'c6b8b252'] parsed_args = self.check_parser(self.cmd, arglist, []) - self.mock_client.get_node.side_effect = sdk_exc.ResourceNotFound() + self.mock_client.find_node.return_value = None error = self.assertRaises(exc.CommandError, self.cmd.take_action, parsed_args) self.assertIn('Node not found: c6b8b252', str(error)) diff --git a/senlinclient/tests/unit/osc/v1/test_policy.py b/senlinclient/tests/unit/osc/v1/test_policy.py index c57a3b1..c6920de 100644 --- a/senlinclient/tests/unit/osc/v1/test_policy.py +++ b/senlinclient/tests/unit/osc/v1/test_policy.py @@ -65,7 +65,7 @@ class TestPolicyList(TestPolicy): super(TestPolicyList, self).setUp() self.cmd = osc_policy.ListPolicy(self.app, None) self.mock_client.policies = mock.Mock( - return_value=sdk_policy.Policy(None, {})) + return_value=self.response) def test_policy_list_defaults(self): arglist = [] @@ -170,7 +170,7 @@ class TestPolicyShow(TestPolicy): super(TestPolicyShow, self).setUp() self.cmd = osc_policy.ShowPolicy(self.app, None) self.mock_client.get_policy = mock.Mock( - return_value=sdk_policy.Policy(None, self.get_response)) + return_value=sdk_policy.Policy(attrs=self.get_response['policy'])) def test_policy_show(self): arglist = ['sp001'] @@ -230,9 +230,9 @@ class TestPolicyCreate(TestPolicy): super(TestPolicyCreate, self).setUp() self.cmd = osc_policy.CreatePolicy(self.app, None) self.mock_client.create_policy = mock.Mock( - return_value=sdk_policy.Policy(None, self.response)) + return_value=sdk_policy.Policy(attrs=self.response['policy'])) self.mock_client.get_policy = mock.Mock( - return_value=sdk_policy.Policy(None, self.response)) + return_value=sdk_policy.Policy(attrs=self.response['policy'])) def test_policy_create_defaults(self): arglist = ['my_policy', '--spec-file', self.spec_path] @@ -274,25 +274,27 @@ class TestPolicyUpdate(TestPolicy): super(TestPolicyUpdate, self).setUp() self.cmd = osc_policy.UpdatePolicy(self.app, None) self.mock_client.update_policy = mock.Mock( - return_value=sdk_policy.Policy(None, self.response)) + return_value=sdk_policy.Policy(attrs=self.response['policy'])) self.mock_client.get_policy = mock.Mock( - return_value=sdk_policy.Policy(None, self.response)) + return_value=sdk_policy.Policy(attrs=self.response['policy'])) + self.mock_client.find_policy = mock.Mock( + return_value=sdk_policy.Policy(attrs=self.response['policy'])) def test_policy_update_defaults(self): - arglist = ['--name', 'new_policy', 'c6b8b252'] + arglist = ['--name', 'new_policy', '9f779ddf'] parsed_args = self.check_parser(self.cmd, arglist, []) self.cmd.take_action(parsed_args) - self.mock_client.update_policy.assert_called_with(None, - **self.defaults) + self.mock_client.update_policy.assert_called_with( + '9f779ddf-744e-48bd-954c-acef7e11116c', **self.defaults) def test_policy_update_not_found(self): arglist = ['--name', 'new_policy', 'c6b8b252'] parsed_args = self.check_parser(self.cmd, arglist, []) - self.mock_client.get_policy.side_effect = sdk_exc.ResourceNotFound() - error = self.assertRaises(sdk_exc.ResourceNotFound, + self.mock_client.find_policy.return_value = None + error = self.assertRaises(exc.CommandError, self.cmd.take_action, parsed_args) - self.assertIn('ResourceNotFound: ResourceNotFound', str(error)) + self.assertIn('Policy not found: c6b8b252', str(error)) class TestPolicyDelete(TestPolicy): diff --git a/senlinclient/tests/unit/osc/v1/test_profile.py b/senlinclient/tests/unit/osc/v1/test_profile.py index f58bf33..b81d1ed 100644 --- a/senlinclient/tests/unit/osc/v1/test_profile.py +++ b/senlinclient/tests/unit/osc/v1/test_profile.py @@ -92,7 +92,8 @@ class TestProfileShow(TestProfile): super(TestProfileShow, self).setUp() self.cmd = osc_profile.ShowProfile(self.app, None) self.mock_client.get_profile = mock.Mock( - return_value=sdk_profile.Profile(None, self.get_response)) + return_value=sdk_profile.Profile( + attrs=self.get_response['profile'])) utils.get_dict_properties = mock.Mock(return_value='') def test_profile_show(self): @@ -145,7 +146,7 @@ class TestProfileList(TestProfile): super(TestProfileList, self).setUp() self.cmd = osc_profile.ListProfile(self.app, None) self.mock_client.profiles = mock.Mock( - return_value=sdk_profile.Profile(None, {})) + return_value=self.data) def test_profile_list_defaults(self): arglist = [] @@ -320,9 +321,9 @@ class TestProfileCreate(TestProfile): super(TestProfileCreate, self).setUp() self.cmd = osc_profile.CreateProfile(self.app, None) self.mock_client.create_profile = mock.Mock( - return_value=sdk_profile.Profile(None, self.response)) + return_value=sdk_profile.Profile(attrs=self.response['profile'])) self.mock_client.get_profile = mock.Mock( - return_value=sdk_profile.Profile(None, self.response)) + return_value=sdk_profile.Profile(attrs=self.response['profile'])) utils.get_dict_properties = mock.Mock(return_value='') def test_profile_create_defaults(self): @@ -375,24 +376,26 @@ class TestProfileUpdate(TestProfile): super(TestProfileUpdate, self).setUp() self.cmd = osc_profile.UpdateProfile(self.app, None) self.mock_client.update_profile = mock.Mock( - return_value=sdk_profile.Profile(None, self.response)) + return_value=sdk_profile.Profile(attrs=self.response['profile'])) self.mock_client.get_profile = mock.Mock( - return_value=sdk_profile.Profile(None, self.response)) + return_value=sdk_profile.Profile(attrs=self.response['profile'])) + self.mock_client.find_profile = mock.Mock( + return_value=sdk_profile.Profile(attrs=self.response['profile'])) utils.get_dict_properties = mock.Mock(return_value='') def test_profile_update_defaults(self): arglist = ['--name', 'new_profile', '--metadata', 'nk1=nv1;nk2=nv2', - 'c6b8b252'] + 'e3057c77'] parsed_args = self.check_parser(self.cmd, arglist, []) self.cmd.take_action(parsed_args) - self.mock_client.update_profile.assert_called_with(None, - **self.defaults) + self.mock_client.update_profile.assert_called_with( + 'e3057c77-a178-4265-bafd-16b2fae50eea', **self.defaults) def test_profile_update_not_found(self): arglist = ['--name', 'new_profile', '--metadata', 'nk1=nv1;nk2=nv2', 'c6b8b252'] parsed_args = self.check_parser(self.cmd, arglist, []) - self.mock_client.get_profile.side_effect = sdk_exc.ResourceNotFound() + self.mock_client.find_profile.return_value = None error = self.assertRaises( exc.CommandError, self.cmd.take_action, diff --git a/senlinclient/tests/unit/osc/v1/test_receiver.py b/senlinclient/tests/unit/osc/v1/test_receiver.py index cdfe139..98fed37 100644 --- a/senlinclient/tests/unit/osc/v1/test_receiver.py +++ b/senlinclient/tests/unit/osc/v1/test_receiver.py @@ -68,7 +68,7 @@ class TestReceiverList(TestReceiver): super(TestReceiverList, self).setUp() self.cmd = osc_receiver.ListReceiver(self.app, None) self.mock_client.receivers = mock.Mock( - return_value=sdk_receiver.Receiver(None, {})) + return_value=self.response) def test_receiver_list_defaults(self): arglist = [] @@ -173,7 +173,8 @@ class TestReceiverShow(TestReceiver): super(TestReceiverShow, self).setUp() self.cmd = osc_receiver.ShowReceiver(self.app, None) self.mock_client.get_receiver = mock.Mock( - return_value=sdk_receiver.Receiver(None, self.get_response)) + return_value=sdk_receiver.Receiver( + attrs=self.get_response['receiver'])) def test_receiver_show(self): arglist = ['my_receiver'] @@ -230,9 +231,11 @@ class TestReceiverCreate(TestReceiver): super(TestReceiverCreate, self).setUp() self.cmd = osc_receiver.CreateReceiver(self.app, None) self.mock_client.create_receiver = mock.Mock( - return_value=sdk_receiver.Receiver(None, self.response)) + return_value=sdk_receiver.Receiver( + attrs=self.response['receiver'])) self.mock_client.get_receiver = mock.Mock( - return_value=sdk_receiver.Receiver(None, self.response)) + return_value=sdk_receiver.Receiver( + attrs=self.response['receiver'])) def test_receiver_create(self): arglist = ['my_receiver', '--action', 'CLUSTER_SCALE_OUT',