summaryrefslogtreecommitdiff
path: root/openstackclient/tests/unit
diff options
context:
space:
mode:
authorStephen Finucane <sfinucan@redhat.com>2022-12-19 16:50:16 +0000
committerStephen Finucane <sfinucan@redhat.com>2023-04-04 13:40:38 +0100
commit864f51f427c01d13c8408782dd03be4b473f7b2e (patch)
treeed04d48421ac8cb0ae6a0040f8263d15ce725449 /openstackclient/tests/unit
parent5282bd26221892e0aa80a556d1bcd2d96d83cdbc (diff)
downloadpython-openstackclient-864f51f427c01d13c8408782dd03be4b473f7b2e.tar.gz
compute: Migrate 'reboot server' to SDK
Change-Id: Ibad4078f680d3b2615b9ca6f6c72c4fd28030b55 Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Diffstat (limited to 'openstackclient/tests/unit')
-rw-r--r--openstackclient/tests/unit/compute/v2/test_server.py114
1 files changed, 114 insertions, 0 deletions
diff --git a/openstackclient/tests/unit/compute/v2/test_server.py b/openstackclient/tests/unit/compute/v2/test_server.py
index 005f4b66..93517f2f 100644
--- a/openstackclient/tests/unit/compute/v2/test_server.py
+++ b/openstackclient/tests/unit/compute/v2/test_server.py
@@ -5827,6 +5827,120 @@ class TestServerMigrate(TestServer):
self.assertNotCalled(self.servers_mock.live_migrate)
+class TestServerReboot(TestServer):
+
+ def setUp(self):
+ super().setUp()
+
+ self.sdk_client.reboot_server.return_value = None
+
+ self.cmd = server.RebootServer(self.app, None)
+
+ def test_server_reboot(self):
+ servers = self.setup_sdk_servers_mock(count=1)
+
+ arglist = [
+ servers[0].id,
+ ]
+ verifylist = [
+ ('server', servers[0].id),
+ ('reboot_type', 'SOFT'),
+ ('wait', False),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ result = self.cmd.take_action(parsed_args)
+
+ self.sdk_client.reboot_server.assert_called_once_with(
+ servers[0].id,
+ 'SOFT',
+ )
+ self.assertIsNone(result)
+
+ def test_server_reboot_with_hard(self):
+ servers = self.setup_sdk_servers_mock(count=1)
+
+ arglist = [
+ '--hard',
+ servers[0].id,
+ ]
+ verifylist = [
+ ('server', servers[0].id),
+ ('reboot_type', 'HARD'),
+ ('wait', False),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ result = self.cmd.take_action(parsed_args)
+
+ self.sdk_client.reboot_server.assert_called_once_with(
+ servers[0].id,
+ 'HARD',
+ )
+ self.assertIsNone(result)
+
+ @mock.patch.object(common_utils, 'wait_for_status', return_value=True)
+ def test_server_reboot_with_wait(self, mock_wait_for_status):
+ servers = self.setup_sdk_servers_mock(count=1)
+
+ arglist = [
+ '--wait',
+ servers[0].id,
+ ]
+ verifylist = [
+ ('server', servers[0].id),
+ ('reboot_type', 'SOFT'),
+ ('wait', True),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ result = self.cmd.take_action(parsed_args)
+
+ self.assertIsNone(result)
+ self.sdk_client.reboot_server.assert_called_once_with(
+ servers[0].id,
+ 'SOFT',
+ )
+ mock_wait_for_status.assert_called_once_with(
+ self.sdk_client.get_server,
+ servers[0].id,
+ callback=mock.ANY,
+ )
+
+ @mock.patch.object(server.LOG, 'error')
+ @mock.patch.object(common_utils, 'wait_for_status', return_value=False)
+ def test_server_reboot_with_wait_fails(
+ self,
+ mock_wait_for_status,
+ mock_log,
+ ):
+ servers = self.setup_sdk_servers_mock(count=1)
+
+ arglist = [
+ '--wait',
+ servers[0].id,
+ ]
+ verifylist = [
+ ('server', servers[0].id),
+ ('reboot_type', 'SOFT'),
+ ('wait', True),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ self.assertRaises(SystemExit, self.cmd.take_action, parsed_args)
+
+ self.assertIn('Error rebooting server', mock_log.call_args[0][0])
+ self.sdk_client.reboot_server.assert_called_once_with(
+ servers[0].id,
+ 'SOFT',
+ )
+ mock_wait_for_status.assert_called_once_with(
+ self.sdk_client.get_server,
+ servers[0].id,
+ callback=mock.ANY,
+ )
+
+
class TestServerPause(TestServer):
def setUp(self):