diff options
| author | hackertron <jayadityagupta11@gmail.com> | 2020-04-02 13:47:02 +0200 |
|---|---|---|
| committer | Stephen Finucane <sfinucan@redhat.com> | 2020-10-13 14:17:25 +0100 |
| commit | 1c3cf11331a5734700e1c333c98928ab933c0e92 (patch) | |
| tree | 0f88dbb281dcb84a49324106d15f0ec7d6d1df92 /openstackclient/tests/unit | |
| parent | 375fe315255535ad0a6451aa0d9270ca5c3ba3b9 (diff) | |
| download | python-openstackclient-1c3cf11331a5734700e1c333c98928ab933c0e92.tar.gz | |
Add 'server migration abort' command
This is equivalent to nova client's 'live-migration-abort' command.
Change-Id: I0ff520ccfdf2de52c427affad7bef4554c86a06f
Story: 2007489
Task: 39210
Diffstat (limited to 'openstackclient/tests/unit')
| -rw-r--r-- | openstackclient/tests/unit/compute/v2/fakes.py | 3 | ||||
| -rw-r--r-- | openstackclient/tests/unit/compute/v2/test_server.py | 56 |
2 files changed, 59 insertions, 0 deletions
diff --git a/openstackclient/tests/unit/compute/v2/fakes.py b/openstackclient/tests/unit/compute/v2/fakes.py index 6aeb5da7..ce556fa6 100644 --- a/openstackclient/tests/unit/compute/v2/fakes.py +++ b/openstackclient/tests/unit/compute/v2/fakes.py @@ -196,6 +196,9 @@ class FakeComputev2Client(object): self.server_groups = mock.Mock() self.server_groups.resource_class = fakes.FakeResource(None, {}) + self.server_migrations = mock.Mock() + self.server_migrations.resource_class = fakes.FakeResource(None, {}) + self.instance_action = mock.Mock() self.instance_action.resource_class = fakes.FakeResource(None, {}) diff --git a/openstackclient/tests/unit/compute/v2/test_server.py b/openstackclient/tests/unit/compute/v2/test_server.py index a9f72cf6..9ac29352 100644 --- a/openstackclient/tests/unit/compute/v2/test_server.py +++ b/openstackclient/tests/unit/compute/v2/test_server.py @@ -42,6 +42,11 @@ class TestServer(compute_fakes.TestComputev2): self.servers_mock = self.app.client_manager.compute.servers self.servers_mock.reset_mock() + # Get a shortcut to the compute client ServerMigrationsManager Mock + self.server_migrations_mock = \ + self.app.client_manager.compute.server_migrations + self.server_migrations_mock.reset_mock() + # Get a shortcut to the compute client volumeManager Mock self.servers_volumes_mock = self.app.client_manager.compute.volumes self.servers_volumes_mock.reset_mock() @@ -4207,6 +4212,57 @@ class TestListMigrationV280(TestListMigration): parsed_args) +class TestServerMigrationAbort(TestServer): + + def setUp(self): + super(TestServerMigrationAbort, self).setUp() + + self.server = compute_fakes.FakeServer.create_one_server() + + # Return value for utils.find_resource for server. + self.servers_mock.get.return_value = self.server + + # Get the command object to test + self.cmd = server.AbortMigration(self.app, None) + + def test_migration_abort(self): + self.app.client_manager.compute.api_version = api_versions.APIVersion( + '2.24') + + arglist = [ + self.server.id, + '2', # arbitrary migration ID + ] + verifylist = [] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + result = self.cmd.take_action(parsed_args) + + self.servers_mock.get.assert_called_with(self.server.id) + self.server_migrations_mock.live_migration_abort.assert_called_with( + self.server.id, '2',) + self.assertIsNone(result) + + def test_migration_abort_pre_v224(self): + self.app.client_manager.compute.api_version = api_versions.APIVersion( + '2.23') + + arglist = [ + self.server.id, + '2', # arbitrary migration ID + ] + verifylist = [] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + ex = self.assertRaises( + exceptions.CommandError, + self.cmd.take_action, + parsed_args) + self.assertIn( + '--os-compute-api-version 2.24 or greater is required', + str(ex)) + + class TestServerPause(TestServer): def setUp(self): |
