@@ -2048,6 +2048,65 @@ def test_server_create_image_property_missed(self):
20482048 self .cmd .take_action ,
20492049 parsed_args )
20502050
2051+ def test_server_create_image_property_with_image_list (self ):
2052+ arglist = [
2053+ '--image-property' ,
2054+ 'owner_specified.openstack.object=image/cirros' ,
2055+ '--flavor' , 'flavor1' ,
2056+ '--nic' , 'none' ,
2057+ self .new_server .name ,
2058+ ]
2059+
2060+ verifylist = [
2061+ ('image_property' ,
2062+ {'owner_specified.openstack.object' : 'image/cirros' }),
2063+ ('flavor' , 'flavor1' ),
2064+ ('nic' , ['none' ]),
2065+ ('server_name' , self .new_server .name ),
2066+ ]
2067+ # create a image_info as the side_effect of the fake image_list()
2068+ image_info = {
2069+ 'properties' : {
2070+ 'owner_specified.openstack.object' : 'image/cirros'
2071+ }
2072+ }
2073+
2074+ target_image = image_fakes .FakeImage .create_one_image (image_info )
2075+ another_image = image_fakes .FakeImage .create_one_image ({})
2076+ self .images_mock .return_value = [target_image , another_image ]
2077+
2078+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
2079+
2080+ columns , data = self .cmd .take_action (parsed_args )
2081+
2082+ # Set expected values
2083+ kwargs = dict (
2084+ files = {},
2085+ reservation_id = None ,
2086+ min_count = 1 ,
2087+ max_count = 1 ,
2088+ security_groups = [],
2089+ userdata = None ,
2090+ key_name = None ,
2091+ availability_zone = None ,
2092+ block_device_mapping_v2 = [],
2093+ nics = 'none' ,
2094+ meta = None ,
2095+ scheduler_hints = {},
2096+ config_drive = None ,
2097+ )
2098+
2099+ # ServerManager.create(name, image, flavor, **kwargs)
2100+ self .servers_mock .create .assert_called_with (
2101+ self .new_server .name ,
2102+ target_image ,
2103+ self .flavor ,
2104+ ** kwargs
2105+ )
2106+
2107+ self .assertEqual (self .columns , columns )
2108+ self .assertEqual (self .datalist (), data )
2109+
20512110 def test_server_create_invalid_hint (self ):
20522111 # Not a key-value pair
20532112 arglist = [
0 commit comments