diff options
| author | Stephen Finucane <sfinucan@redhat.com> | 2022-12-19 16:50:16 +0000 |
|---|---|---|
| committer | Stephen Finucane <sfinucan@redhat.com> | 2023-04-04 13:40:38 +0100 |
| commit | 864f51f427c01d13c8408782dd03be4b473f7b2e (patch) | |
| tree | ed04d48421ac8cb0ae6a0040f8263d15ce725449 /openstackclient/tests/unit/compute | |
| parent | 5282bd26221892e0aa80a556d1bcd2d96d83cdbc (diff) | |
| download | python-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/compute')
| -rw-r--r-- | openstackclient/tests/unit/compute/v2/test_server.py | 114 |
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): |
