@@ -8222,12 +8222,10 @@ def setUp(self):
82228222 self .compute_sdk_client .get_server_diagnostics .return_value = {
82238223 'test' : 'test'
82248224 }
8225- server_method = {
8226- 'fetch_topology' : self .topology ,
8227- }
8228- self .server = compute_fakes .create_one_server (
8229- attrs = server_info , methods = server_method
8225+ self .server = compute_fakes .create_one_sdk_server (
8226+ attrs = server_info ,
82308227 )
8228+ self .server .fetch_topology = mock .MagicMock (return_value = self .topology )
82318229
82328230 # This is the return value for utils.find_resource()
82338231 self .compute_sdk_client .get_server .return_value = self .server
@@ -8238,28 +8236,101 @@ def setUp(self):
82388236 self .cmd = server .ShowServer (self .app , None )
82398237
82408238 self .columns = (
8239+ 'OS-DCF:diskConfig' ,
8240+ 'OS-EXT-AZ:availability_zone' ,
8241+ 'OS-EXT-SRV-ATTR:host' ,
8242+ 'OS-EXT-SRV-ATTR:hostname' ,
8243+ 'OS-EXT-SRV-ATTR:hypervisor_hostname' ,
8244+ 'OS-EXT-SRV-ATTR:instance_name' ,
8245+ 'OS-EXT-SRV-ATTR:kernel_id' ,
8246+ 'OS-EXT-SRV-ATTR:launch_index' ,
8247+ 'OS-EXT-SRV-ATTR:ramdisk_id' ,
8248+ 'OS-EXT-SRV-ATTR:reservation_id' ,
8249+ 'OS-EXT-SRV-ATTR:root_device_name' ,
8250+ 'OS-EXT-SRV-ATTR:user_data' ,
82418251 'OS-EXT-STS:power_state' ,
8252+ 'OS-EXT-STS:task_state' ,
8253+ 'OS-EXT-STS:vm_state' ,
8254+ 'OS-SRV-USG:launched_at' ,
8255+ 'OS-SRV-USG:terminated_at' ,
8256+ 'accessIPv4' ,
8257+ 'accessIPv6' ,
82428258 'addresses' ,
8259+ 'config_drive' ,
8260+ 'created' ,
8261+ 'description' ,
82438262 'flavor' ,
8263+ 'hostId' ,
8264+ 'host_status' ,
82448265 'id' ,
82458266 'image' ,
8267+ 'key_name' ,
8268+ 'locked' ,
8269+ 'locked_reason' ,
82468270 'name' ,
8271+ 'pinned_availability_zone' ,
8272+ 'progress' ,
82478273 'project_id' ,
82488274 'properties' ,
8275+ 'server_groups' ,
8276+ 'status' ,
8277+ 'tags' ,
8278+ 'trusted_image_certificates' ,
8279+ 'updated' ,
8280+ 'user_id' ,
8281+ 'volumes_attached' ,
82498282 )
82508283
82518284 self .data = (
8285+ None , # OS-DCF:diskConfig
8286+ None , # OS-EXT-AZ:availability_zone
8287+ None , # OS-EXT-SRV-ATTR:host
8288+ None , # OS-EXT-SRV-ATTR:hostname
8289+ None , # OS-EXT-SRV-ATTR:hypervisor_hostname
8290+ None , # OS-EXT-SRV-ATTR:instance_name
8291+ None , # OS-EXT-SRV-ATTR:kernel_id
8292+ None , # OS-EXT-SRV-ATTR:launch_index
8293+ None , # OS-EXT-SRV-ATTR:ramdisk_id
8294+ None , # OS-EXT-SRV-ATTR:reservation_id
8295+ None , # OS-EXT-SRV-ATTR:root_device_name
8296+ None , # OS-EXT-SRV-ATTR:user_data
82528297 server .PowerStateColumn (
8253- getattr (self .server , 'OS-EXT-STS:power_state' )
8254- ),
8255- self .flavor .name + " (" + self .flavor .id + ")" ,
8256- self .server .id ,
8257- self .image .name + " (" + self .image .id + ")" ,
8298+ self .server .power_state
8299+ ), # OS-EXT-STS:power_state # noqa: E501
8300+ None , # OS-EXT-STS:task_state
8301+ None , # OS-EXT-STS:vm_state
8302+ None , # OS-SRV-USG:launched_at
8303+ None , # OS-SRV-USG:terminated_at
8304+ None , # accessIPv4
8305+ None , # accessIPv6
8306+ server .AddressesColumn (
8307+ {'public' : ['10.20.30.40' , '2001:db8::f' ]}
8308+ ), # addresses
8309+ None , # config_drive
8310+ None , # created
8311+ None , # description
8312+ self .flavor .name + " (" + self .flavor .id + ")" , # flavor
8313+ None , # hostId
8314+ None , # host_status
8315+ self .server .id , # id
8316+ self .image .name + " (" + self .image .id + ")" , # image
8317+ None , # key_name
8318+ None , # locked
8319+ None , # locked_reason
82588320 self .server .name ,
8259- server .AddressesColumn ({'public' : ['10.20.30.40' , '2001:db8::f' ]}),
8260- 'tenant-id-xxx' ,
8261- format_columns .DictColumn ({}),
8262- )
8321+ None , # pinned_availability_zone
8322+ None , # progress
8323+ 'tenant-id-xxx' , # project_id
8324+ format_columns .DictColumn ({}), # properties
8325+ None , # server_groups
8326+ None , # status
8327+ format_columns .ListColumn ([]), # tags
8328+ None , # trusted_image_certificates
8329+ None , # updated
8330+ None , # user_id
8331+ format_columns .ListDictColumn ([]), # volumes_attached
8332+ )
8333+ self .assertEqual (len (self .columns ), len (self .data ))
82638334
82648335 def test_show_no_options (self ):
82658336 arglist = []
@@ -8286,8 +8357,8 @@ def test_show(self):
82868357
82878358 columns , data = self .cmd .take_action (parsed_args )
82888359
8289- self .assertEqual (self .columns , columns )
8290- self .assertCountEqual (self .data , data )
8360+ self .assertTupleEqual (self .columns , columns )
8361+ self .assertTupleEqual (self .data , data )
82918362
82928363 def test_show_embedded_flavor (self ):
82938364 # Tests using --os-compute-api-version >= 2.47 where the flavor
@@ -8301,7 +8372,7 @@ def test_show_embedded_flavor(self):
83018372 ('server' , self .server .name ),
83028373 ]
83038374 parsed_args = self .check_parser (self .cmd , arglist , verifylist )
8304- self .server .info [ ' flavor' ] = {
8375+ self .server .flavor = {
83058376 'ephemeral' : 0 ,
83068377 'ram' : 512 ,
83078378 'original_name' : 'm1.tiny' ,
@@ -8315,7 +8386,7 @@ def test_show_embedded_flavor(self):
83158386 self .assertEqual (self .columns , columns )
83168387 # Since the flavor details are in a dict we can't be sure of the
83178388 # ordering so just assert that one of the keys is in the output.
8318- self .assertIn ('original_name' , data [2 ]._value )
8389+ self .assertIn ('original_name' , data [columns . index ( 'flavor' ) ]._value )
83198390
83208391 def test_show_diagnostics (self ):
83218392 arglist = [
0 commit comments