@@ -845,6 +845,55 @@ def test_server_create_with_auto_network(self):
845845 self .assertEqual (self .columns , columns )
846846 self .assertEqual (self .datalist (), data )
847847
848+ def test_server_create_with_auto_network_default_v2_37 (self ):
849+ """Tests creating a server without specifying --nic using 2.37."""
850+ arglist = [
851+ '--image' , 'image1' ,
852+ '--flavor' , 'flavor1' ,
853+ self .new_server .name ,
854+ ]
855+ verifylist = [
856+ ('image' , 'image1' ),
857+ ('flavor' , 'flavor1' ),
858+ ('config_drive' , False ),
859+ ('server_name' , self .new_server .name ),
860+ ]
861+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
862+
863+ # Since check_parser doesn't handle compute global options like
864+ # --os-compute-api-version, we have to mock the construction of
865+ # the novaclient client object with our own APIVersion.
866+ with mock .patch .object (self .app .client_manager .compute , 'api_version' ,
867+ api_versions .APIVersion ('2.37' )):
868+ columns , data = self .cmd .take_action (parsed_args )
869+
870+ # Set expected values
871+ kwargs = dict (
872+ meta = None ,
873+ files = {},
874+ reservation_id = None ,
875+ min_count = 1 ,
876+ max_count = 1 ,
877+ security_groups = [],
878+ userdata = None ,
879+ key_name = None ,
880+ availability_zone = None ,
881+ block_device_mapping_v2 = [],
882+ nics = 'auto' ,
883+ scheduler_hints = {},
884+ config_drive = None ,
885+ )
886+ # ServerManager.create(name, image, flavor, **kwargs)
887+ self .servers_mock .create .assert_called_with (
888+ self .new_server .name ,
889+ self .image ,
890+ self .flavor ,
891+ ** kwargs
892+ )
893+
894+ self .assertEqual (self .columns , columns )
895+ self .assertEqual (self .datalist (), data )
896+
848897 def test_server_create_with_none_network (self ):
849898 arglist = [
850899 '--image' , 'image1' ,
0 commit comments