Merge "Fix node update receive a assertion error"

This commit is contained in:
Jenkins 2016-03-03 03:31:11 +00:00 committed by Gerrit Code Review
commit f07084f5d4
10 changed files with 78 additions and 64 deletions

View File

@ -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,

View File

@ -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)

View File

@ -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):

View File

@ -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)

View File

@ -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']

View File

@ -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):

View File

@ -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))

View File

@ -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):

View File

@ -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,

View File

@ -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',