summaryrefslogtreecommitdiff
path: root/openstackclient/tests
diff options
context:
space:
mode:
authorxiexs <xiexs@cn.fujitsu.com>2015-11-24 00:40:20 -0500
committerxiexs <xiexs@cn.fujitsu.com>2015-11-24 00:40:26 -0500
commita41a8c42af47ea51782f90221e987287484a26d7 (patch)
treecc7a19b47efadce2946cf0363688ac7eb8ce2c22 /openstackclient/tests
parent42a5909f6a6fa50726799e8220f8722f2b0a016f (diff)
downloadpython-openstackclient-a41a8c42af47ea51782f90221e987287484a26d7.tar.gz
Add "openstack server shelve" into OSC
Currently, the shelve operation is not supported by OSC. So, this patch attempts to add it into OSC. Change-Id: I92545300bef006a069338168d2de800e8a58af69 Implements: blueprint introduce-shelve-into-osc
Diffstat (limited to 'openstackclient/tests')
-rw-r--r--openstackclient/tests/compute/v2/test_server.py54
1 files changed, 54 insertions, 0 deletions
diff --git a/openstackclient/tests/compute/v2/test_server.py b/openstackclient/tests/compute/v2/test_server.py
index 791a90ab..61e098a8 100644
--- a/openstackclient/tests/compute/v2/test_server.py
+++ b/openstackclient/tests/compute/v2/test_server.py
@@ -766,3 +766,57 @@ class TestServerGeneral(testtools.TestCase):
server._get_ip_address, self.OLD, 'public', [4, 6])
self.assertRaises(exceptions.CommandError,
server._get_ip_address, self.OLD, 'private', [6])
+
+
+class TestShelveServer(TestServer):
+
+ def setUp(self):
+ super(TestShelveServer, self).setUp()
+
+ # Get the command object to test
+ self.cmd = server.ShelveServer(self.app, None)
+
+ # Set shelve method to be tested.
+ self.methods = {
+ 'shelve': None,
+ }
+
+ def setup_servers_mock(self, count=1):
+ servers = fakes.FakeServer.create_servers(methods=self.methods,
+ count=count)
+
+ self.servers_mock.get = fakes.FakeServer.get_servers(servers, 1)
+
+ return servers
+
+ def test_shelve_one_server(self):
+ server = self.setup_servers_mock(1)[0]
+
+ arglist = [
+ server.id,
+ ]
+ verifylist = [
+ ('server', [server.id]),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ self.cmd.take_action(parsed_args)
+
+ server.shelve.assert_called_with()
+
+ def test_shelve_multi_servers(self):
+ servers = self.setup_servers_mock(3)
+ arglist = []
+ verifylist = []
+
+ for i in range(0, len(servers)):
+ arglist.append(servers[i].id)
+ verifylist = [
+ ('server', arglist),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ self.cmd.take_action(parsed_args)
+
+ for i in range(0, len(servers)):
+ servers[i].shelve.assert_called_with()