summaryrefslogtreecommitdiff
path: root/openstackclient/tests/compute
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-06-05 04:36:25 +0000
committerGerrit Code Review <review@openstack.org>2016-06-05 04:36:26 +0000
commit93db7f58edf8e1157eacfc22f2b880c4edd91764 (patch)
tree08c810c79bf4da07d293a0abc2c6d72c1c0a23ec /openstackclient/tests/compute
parent1c097b777c9e89a9e4e5eda80c583b0edc5c0784 (diff)
parent909bab1e07ec564055dd7dab578af9970a8e648e (diff)
downloadpython-openstackclient-93db7f58edf8e1157eacfc22f2b880c4edd91764.tar.gz
Merge "Support multiple argument for compute agent delete command"
Diffstat (limited to 'openstackclient/tests/compute')
-rw-r--r--openstackclient/tests/compute/v2/test_agent.py61
1 files changed, 56 insertions, 5 deletions
diff --git a/openstackclient/tests/compute/v2/test_agent.py b/openstackclient/tests/compute/v2/test_agent.py
index bdff8c5e..d3d1ff29 100644
--- a/openstackclient/tests/compute/v2/test_agent.py
+++ b/openstackclient/tests/compute/v2/test_agent.py
@@ -13,6 +13,10 @@
# under the License.
#
+import mock
+
+from mock import call
+from openstackclient.common import exceptions
from openstackclient.compute.v2 import agent
from openstackclient.tests.compute.v2 import fakes as compute_fakes
@@ -89,26 +93,73 @@ class TestAgentCreate(TestAgent):
class TestAgentDelete(TestAgent):
+ fake_agents = compute_fakes.FakeAgent.create_agents(count=2)
+
def setUp(self):
super(TestAgentDelete, self).setUp()
- self.agents_mock.get.return_value = self.fake_agent
+ self.agents_mock.get.return_value = self.fake_agents
self.cmd = agent.DeleteAgent(self.app, None)
- def test_one_agent_delete(self):
+ def test_delete_one_agent(self):
arglist = [
- 'test'
+ self.fake_agents[0].agent_id
]
verifylist = [
- ('id', 'test'),
+ ('id', [self.fake_agents[0].agent_id]),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
result = self.cmd.take_action(parsed_args)
- self.agents_mock.delete.assert_called_with(parsed_args.id)
+ self.agents_mock.delete.assert_called_with(
+ self.fake_agents[0].agent_id)
+ self.assertIsNone(result)
+
+ def test_delete_multiple_agents(self):
+ arglist = []
+ for n in self.fake_agents:
+ arglist.append(n.agent_id)
+ verifylist = [
+ ('id', arglist),
+ ]
+
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+ result = self.cmd.take_action(parsed_args)
+
+ calls = []
+ for n in self.fake_agents:
+ calls.append(call(n.agent_id))
+ self.agents_mock.delete.assert_has_calls(calls)
self.assertIsNone(result)
+ def test_delete_multiple_agents_exception(self):
+ arglist = [
+ self.fake_agents[0].agent_id,
+ self.fake_agents[1].agent_id,
+ 'x-y-z',
+ ]
+ verifylist = [
+ ('id', arglist),
+ ]
+
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ ret_delete = [
+ None,
+ None,
+ exceptions.NotFound('404')
+ ]
+ self.agents_mock.delete = mock.Mock(side_effect=ret_delete)
+
+ self.assertRaises(exceptions.CommandError, self.cmd.take_action,
+ parsed_args)
+ calls = [
+ call(self.fake_agents[0].agent_id),
+ call(self.fake_agents[1].agent_id),
+ ]
+ self.agents_mock.delete.assert_has_calls(calls)
+
class TestAgentList(TestAgent):