diff options
| author | Dean Troyer <dtroyer@gmail.com> | 2017-10-27 09:50:50 -0500 |
|---|---|---|
| committer | Dean Troyer <dtroyer@gmail.com> | 2017-10-27 20:19:17 +0000 |
| commit | 40976f006271903a29285b5bdbb5422527212a45 (patch) | |
| tree | 79c3f34e7064f5b7632eba65cb5f8146c494a3f2 /openstackclient/tests | |
| parent | d215982ce04302a95086e574322046ef5a4b439c (diff) | |
| download | python-openstackclient-40976f006271903a29285b5bdbb5422527212a45.tar.gz | |
Add server rescue unit tests
Added to support the new options to server rescue command.
Change-Id: Ia9dca85e05488fa8d5f57cd5e8920e94b8f65c22
Diffstat (limited to 'openstackclient/tests')
| -rw-r--r-- | openstackclient/tests/unit/compute/v2/test_server.py | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/openstackclient/tests/unit/compute/v2/test_server.py b/openstackclient/tests/unit/compute/v2/test_server.py index a1225c30..660f4f97 100644 --- a/openstackclient/tests/unit/compute/v2/test_server.py +++ b/openstackclient/tests/unit/compute/v2/test_server.py @@ -2170,6 +2170,91 @@ class TestServerRemoveFixedIP(TestServer): self.assertIsNone(result) +class TestServerRescue(TestServer): + + def setUp(self): + super(TestServerRescue, self).setUp() + + # Return value for utils.find_resource for image + self.image = image_fakes.FakeImage.create_one_image() + self.images_mock.get.return_value = self.image + + new_server = compute_fakes.FakeServer.create_one_server() + attrs = { + 'id': new_server.id, + 'image': { + 'id': self.image.id, + }, + 'networks': {}, + 'adminPass': 'passw0rd', + } + methods = { + 'rescue': new_server, + } + self.server = compute_fakes.FakeServer.create_one_server( + attrs=attrs, + methods=methods, + ) + + # Return value for utils.find_resource for server + self.servers_mock.get.return_value = self.server + + self.cmd = server.RescueServer(self.app, None) + + def test_rescue_with_current_image(self): + arglist = [ + self.server.id, + ] + verifylist = [ + ('server', self.server.id), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + # Get the command object to test + self.cmd.take_action(parsed_args) + + self.servers_mock.get.assert_called_with(self.server.id) + self.server.rescue.assert_called_with(image=None, password=None) + + def test_rescue_with_new_image(self): + new_image = image_fakes.FakeImage.create_one_image() + self.images_mock.get.return_value = new_image + arglist = [ + '--image', new_image.id, + self.server.id, + ] + verifylist = [ + ('image', new_image.id), + ('server', self.server.id), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + # Get the command object to test + self.cmd.take_action(parsed_args) + + self.servers_mock.get.assert_called_with(self.server.id) + self.images_mock.get.assert_called_with(new_image.id) + self.server.rescue.assert_called_with(image=new_image, password=None) + + def test_rescue_with_current_image_and_password(self): + password = 'password-xxx' + arglist = [ + '--password', password, + self.server.id, + ] + verifylist = [ + ('password', password), + ('server', self.server.id), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + # Get the command object to test + self.cmd.take_action(parsed_args) + + self.servers_mock.get.assert_called_with(self.server.id) + self.server.rescue.assert_called_with(image=None, password=password) + + class TestServerRemoveFloatingIP(TestServer): def setUp(self): |
