@@ -4888,6 +4888,124 @@ def test_get_migrations_with_project_and_user_pre_v280(self):
48884888 str (ex ))
48894889
48904890
4891+ class TestServerMigrationShow (TestServer ):
4892+
4893+ def setUp (self ):
4894+ super ().setUp ()
4895+
4896+ self .server = compute_fakes .FakeServer .create_one_server ()
4897+ self .servers_mock .get .return_value = self .server
4898+
4899+ self .server_migration = compute_fakes .FakeServerMigration \
4900+ .create_one_server_migration ()
4901+ self .server_migrations_mock .get .return_value = self .server_migration
4902+
4903+ self .columns = (
4904+ 'ID' ,
4905+ 'Server UUID' ,
4906+ 'Status' ,
4907+ 'Source Compute' ,
4908+ 'Source Node' ,
4909+ 'Dest Compute' ,
4910+ 'Dest Host' ,
4911+ 'Dest Node' ,
4912+ 'Memory Total Bytes' ,
4913+ 'Memory Processed Bytes' ,
4914+ 'Memory Remaining Bytes' ,
4915+ 'Disk Total Bytes' ,
4916+ 'Disk Processed Bytes' ,
4917+ 'Disk Remaining Bytes' ,
4918+ 'Created At' ,
4919+ 'Updated At' ,
4920+ )
4921+
4922+ self .data = (
4923+ self .server_migration .id ,
4924+ self .server_migration .server_uuid ,
4925+ self .server_migration .status ,
4926+ self .server_migration .source_compute ,
4927+ self .server_migration .source_node ,
4928+ self .server_migration .dest_compute ,
4929+ self .server_migration .dest_host ,
4930+ self .server_migration .dest_node ,
4931+ self .server_migration .memory_total_bytes ,
4932+ self .server_migration .memory_processed_bytes ,
4933+ self .server_migration .memory_remaining_bytes ,
4934+ self .server_migration .disk_total_bytes ,
4935+ self .server_migration .disk_processed_bytes ,
4936+ self .server_migration .disk_remaining_bytes ,
4937+ self .server_migration .created_at ,
4938+ self .server_migration .updated_at ,
4939+ )
4940+
4941+ # Get the command object to test
4942+ self .cmd = server .ShowMigration (self .app , None )
4943+
4944+ def _test_server_migration_show (self ):
4945+ arglist = [
4946+ self .server .id ,
4947+ '2' , # arbitrary migration ID
4948+ ]
4949+ verifylist = []
4950+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
4951+
4952+ columns , data = self .cmd .take_action (parsed_args )
4953+
4954+ self .assertEqual (self .columns , columns )
4955+ self .assertEqual (self .data , data )
4956+
4957+ self .servers_mock .get .assert_called_with (self .server .id )
4958+ self .server_migrations_mock .get .assert_called_with (
4959+ self .server .id , '2' ,)
4960+
4961+ def test_server_migration_show (self ):
4962+ self .app .client_manager .compute .api_version = api_versions .APIVersion (
4963+ '2.24' )
4964+
4965+ self ._test_server_migration_show ()
4966+
4967+ def test_server_migration_show_v259 (self ):
4968+ self .app .client_manager .compute .api_version = api_versions .APIVersion (
4969+ '2.59' )
4970+
4971+ self .columns += ('UUID' ,)
4972+ self .data += (self .server_migration .uuid ,)
4973+
4974+ self ._test_server_migration_show ()
4975+
4976+ def test_server_migration_show_v280 (self ):
4977+ self .app .client_manager .compute .api_version = api_versions .APIVersion (
4978+ '2.80' )
4979+
4980+ self .columns += ('UUID' , 'User ID' , 'Project ID' )
4981+ self .data += (
4982+ self .server_migration .uuid ,
4983+ self .server_migration .user_id ,
4984+ self .server_migration .project_id ,
4985+ )
4986+
4987+ self ._test_server_migration_show ()
4988+
4989+ def test_server_migration_show_pre_v224 (self ):
4990+ self .app .client_manager .compute .api_version = api_versions .APIVersion (
4991+ '2.23' )
4992+
4993+ arglist = [
4994+ self .server .id ,
4995+ '2' , # arbitrary migration ID
4996+ ]
4997+ verifylist = []
4998+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
4999+
5000+ ex = self .assertRaises (
5001+ exceptions .CommandError ,
5002+ self .cmd .take_action ,
5003+ parsed_args )
5004+ self .assertIn (
5005+ '--os-compute-api-version 2.24 or greater is required' ,
5006+ str (ex ))
5007+
5008+
48915009class TestServerMigrationAbort (TestServer ):
48925010
48935011 def setUp (self ):
0 commit comments