@@ -42,6 +42,11 @@ def setUp(self):
4242 self .servers_mock = self .app .client_manager .compute .servers
4343 self .servers_mock .reset_mock ()
4444
45+ # Get a shortcut to the compute client ServerMigrationsManager Mock
46+ self .server_migrations_mock = \
47+ self .app .client_manager .compute .server_migrations
48+ self .server_migrations_mock .reset_mock ()
49+
4550 # Get a shortcut to the compute client volumeManager Mock
4651 self .servers_volumes_mock = self .app .client_manager .compute .volumes
4752 self .servers_volumes_mock .reset_mock ()
@@ -4232,6 +4237,57 @@ def test_get_migrations_with_project_and_user_pre_v280(self):
42324237 parsed_args )
42334238
42344239
4240+ class TestServerMigrationAbort (TestServer ):
4241+
4242+ def setUp (self ):
4243+ super (TestServerMigrationAbort , self ).setUp ()
4244+
4245+ self .server = compute_fakes .FakeServer .create_one_server ()
4246+
4247+ # Return value for utils.find_resource for server.
4248+ self .servers_mock .get .return_value = self .server
4249+
4250+ # Get the command object to test
4251+ self .cmd = server .AbortMigration (self .app , None )
4252+
4253+ def test_migration_abort (self ):
4254+ self .app .client_manager .compute .api_version = api_versions .APIVersion (
4255+ '2.24' )
4256+
4257+ arglist = [
4258+ self .server .id ,
4259+ '2' , # arbitrary migration ID
4260+ ]
4261+ verifylist = []
4262+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
4263+
4264+ result = self .cmd .take_action (parsed_args )
4265+
4266+ self .servers_mock .get .assert_called_with (self .server .id )
4267+ self .server_migrations_mock .live_migration_abort .assert_called_with (
4268+ self .server .id , '2' ,)
4269+ self .assertIsNone (result )
4270+
4271+ def test_migration_abort_pre_v224 (self ):
4272+ self .app .client_manager .compute .api_version = api_versions .APIVersion (
4273+ '2.23' )
4274+
4275+ arglist = [
4276+ self .server .id ,
4277+ '2' , # arbitrary migration ID
4278+ ]
4279+ verifylist = []
4280+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
4281+
4282+ ex = self .assertRaises (
4283+ exceptions .CommandError ,
4284+ self .cmd .take_action ,
4285+ parsed_args )
4286+ self .assertIn (
4287+ '--os-compute-api-version 2.24 or greater is required' ,
4288+ str (ex ))
4289+
4290+
42354291class TestServerPause (TestServer ):
42364292
42374293 def setUp (self ):
0 commit comments