diff options
| author | Jenkins <jenkins@review.openstack.org> | 2016-06-05 04:36:25 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2016-06-05 04:36:26 +0000 |
| commit | 93db7f58edf8e1157eacfc22f2b880c4edd91764 (patch) | |
| tree | 08c810c79bf4da07d293a0abc2c6d72c1c0a23ec /openstackclient/tests/compute | |
| parent | 1c097b777c9e89a9e4e5eda80c583b0edc5c0784 (diff) | |
| parent | 909bab1e07ec564055dd7dab578af9970a8e648e (diff) | |
| download | python-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.py | 61 |
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): |
