@@ -212,7 +212,7 @@ def run_method_with_sdk_servers(self, method_name, server_count):
212212class TestServerAddFixedIP (TestServer ):
213213
214214 def setUp (self ):
215- super (TestServerAddFixedIP , self ).setUp ()
215+ super ().setUp ()
216216
217217 # Get the command object to test
218218 self .cmd = server .AddFixedIP (self .app , None )
@@ -221,13 +221,8 @@ def setUp(self):
221221 self .find_network = mock .Mock ()
222222 self .app .client_manager .network .find_network = self .find_network
223223
224- # Set add_fixed_ip method to be tested.
225- self .methods = {
226- 'interface_attach' : None ,
227- }
228-
229224 @mock .patch .object (sdk_utils , 'supports_microversion' )
230- def test_server_add_fixed_ip_pre_2_44 (self , sm_mock ):
225+ def test_server_add_fixed_ip_pre_v244 (self , sm_mock ):
231226 sm_mock .return_value = False
232227
233228 servers = self .setup_sdk_servers_mock (count = 1 )
@@ -255,10 +250,11 @@ def test_server_add_fixed_ip_pre_2_44(self, sm_mock):
255250 servers [0 ].id ,
256251 network ['id' ]
257252 )
258- self .assertIsNone (result )
253+ # the legacy API operates asynchronously
254+ self .assertEqual (((), ()), result )
259255
260256 @mock .patch .object (sdk_utils , 'supports_microversion' )
261- def test_server_add_fixed_ip_pre_2_44_with_fixed_ip (self , sm_mock ):
257+ def test_server_add_fixed_ip_pre_v244_with_fixed_ip (self , sm_mock ):
262258 sm_mock .return_value = False
263259
264260 servers = self .setup_sdk_servers_mock (count = 1 )
@@ -287,10 +283,11 @@ def test_server_add_fixed_ip_pre_2_44_with_fixed_ip(self, sm_mock):
287283 servers [0 ].id ,
288284 network ['id' ]
289285 )
290- self .assertIsNone (result )
286+ # the legacy API operates asynchronously
287+ self .assertEqual (((), ()), result )
291288
292289 @mock .patch .object (sdk_utils , 'supports_microversion' )
293- def test_server_add_fixed_ip_pre_2_44_with_tag (self , sm_mock ):
290+ def test_server_add_fixed_ip_pre_v244_with_tag (self , sm_mock ):
294291 sm_mock .return_value = False
295292
296293 servers = self .setup_sdk_servers_mock (count = 1 )
@@ -324,7 +321,7 @@ def test_server_add_fixed_ip_pre_2_44_with_tag(self, sm_mock):
324321 str (ex ))
325322
326323 @mock .patch .object (sdk_utils , 'supports_microversion' )
327- def test_server_add_fixed_ip_pre_2_49_with_tag (self , sm_mock ):
324+ def test_server_add_fixed_ip_pre_v249_with_tag (self , sm_mock ):
328325 sm_mock .side_effect = [False , True ]
329326
330327 servers = self .setup_sdk_servers_mock (count = 1 )
@@ -358,11 +355,13 @@ def test_server_add_fixed_ip_pre_2_49_with_tag(self, sm_mock):
358355 str (ex ))
359356
360357 @mock .patch .object (sdk_utils , 'supports_microversion' )
361- def test_server_add_fixed_ip_post_2_49 (self , sm_mock ):
362- sm_mock .side_effect = [True , True ]
358+ def test_server_add_fixed_ip (self , sm_mock ):
359+ sm_mock .side_effect = [True , False ]
363360
364361 servers = self .setup_sdk_servers_mock (count = 1 )
365362 network = compute_fakes .FakeNetwork .create_one_network ()
363+ interface = compute_fakes .create_one_server_interface ()
364+ self .sdk_client .create_server_interface .return_value = interface
366365
367366 with mock .patch .object (
368367 self .app .client_manager ,
@@ -379,21 +378,41 @@ def test_server_add_fixed_ip_post_2_49(self, sm_mock):
379378 ]
380379 parsed_args = self .check_parser (self .cmd , arglist , verifylist )
381380
382- result = self .cmd .take_action (parsed_args )
381+ expected_columns = (
382+ 'Port ID' ,
383+ 'Server ID' ,
384+ 'Network ID' ,
385+ 'MAC Address' ,
386+ 'Port State' ,
387+ 'Fixed IPs' ,
388+ )
389+ expected_data = (
390+ interface .port_id ,
391+ interface .server_id ,
392+ interface .net_id ,
393+ interface .mac_addr ,
394+ interface .port_state ,
395+ format_columns .ListDictColumn (interface .fixed_ips ),
396+ )
397+
398+ columns , data = self .cmd .take_action (parsed_args )
383399
400+ self .assertEqual (expected_columns , columns )
401+ self .assertEqual (expected_data , tuple (data ))
384402 self .sdk_client .create_server_interface .assert_called_once_with (
385403 servers [0 ].id ,
386404 net_id = network ['id' ],
387405 fixed_ip = None
388406 )
389- self .assertIsNone (result )
390407
391408 @mock .patch .object (sdk_utils , 'supports_microversion' )
392- def test_server_add_fixed_ip_post_2_49_with_fixedip (self , sm_mock ):
409+ def test_server_add_fixed_ip_with_fixed_ip (self , sm_mock ):
393410 sm_mock .side_effect = [True , True ]
394411
395412 servers = self .setup_sdk_servers_mock (count = 1 )
396413 network = compute_fakes .FakeNetwork .create_one_network ()
414+ interface = compute_fakes .create_one_server_interface ()
415+ self .sdk_client .create_server_interface .return_value = interface
397416
398417 with mock .patch .object (
399418 self .app .client_manager ,
@@ -412,21 +431,43 @@ def test_server_add_fixed_ip_post_2_49_with_fixedip(self, sm_mock):
412431 ]
413432 parsed_args = self .check_parser (self .cmd , arglist , verifylist )
414433
415- result = self .cmd .take_action (parsed_args )
434+ expected_columns = (
435+ 'Port ID' ,
436+ 'Server ID' ,
437+ 'Network ID' ,
438+ 'MAC Address' ,
439+ 'Port State' ,
440+ 'Fixed IPs' ,
441+ 'Tag' ,
442+ )
443+ expected_data = (
444+ interface .port_id ,
445+ interface .server_id ,
446+ interface .net_id ,
447+ interface .mac_addr ,
448+ interface .port_state ,
449+ format_columns .ListDictColumn (interface .fixed_ips ),
450+ interface .tag ,
451+ )
416452
453+ columns , data = self .cmd .take_action (parsed_args )
454+
455+ self .assertEqual (expected_columns , columns )
456+ self .assertEqual (expected_data , tuple (data ))
417457 self .sdk_client .create_server_interface .assert_called_once_with (
418458 servers [0 ].id ,
419459 net_id = network ['id' ],
420460 fixed_ip = '5.6.7.8'
421461 )
422- self .assertIsNone (result )
423462
424463 @mock .patch .object (sdk_utils , 'supports_microversion' )
425- def test_server_add_fixed_ip_post_2_49_with_tag (self , sm_mock ):
426- sm_mock .side_effect = [True , True ]
464+ def test_server_add_fixed_ip_with_tag (self , sm_mock ):
465+ sm_mock .side_effect = [True , True , True ]
427466
428467 servers = self .setup_sdk_servers_mock (count = 1 )
429468 network = compute_fakes .FakeNetwork .create_one_network ()
469+ interface = compute_fakes .create_one_server_interface ()
470+ self .sdk_client .create_server_interface .return_value = interface
430471
431472 with mock .patch .object (
432473 self .app .client_manager ,
@@ -447,15 +488,35 @@ def test_server_add_fixed_ip_post_2_49_with_tag(self, sm_mock):
447488 ]
448489 parsed_args = self .check_parser (self .cmd , arglist , verifylist )
449490
450- result = self .cmd .take_action (parsed_args )
491+ expected_columns = (
492+ 'Port ID' ,
493+ 'Server ID' ,
494+ 'Network ID' ,
495+ 'MAC Address' ,
496+ 'Port State' ,
497+ 'Fixed IPs' ,
498+ 'Tag' ,
499+ )
500+ expected_data = (
501+ interface .port_id ,
502+ interface .server_id ,
503+ interface .net_id ,
504+ interface .mac_addr ,
505+ interface .port_state ,
506+ format_columns .ListDictColumn (interface .fixed_ips ),
507+ interface .tag ,
508+ )
451509
510+ columns , data = self .cmd .take_action (parsed_args )
511+
512+ self .assertEqual (expected_columns , columns )
513+ self .assertEqual (expected_data , tuple (data ))
452514 self .sdk_client .create_server_interface .assert_called_once_with (
453515 servers [0 ].id ,
454516 net_id = network ['id' ],
455517 fixed_ip = '5.6.7.8' ,
456- tag = 'tag1'
518+ tag = 'tag1' ,
457519 )
458- self .assertIsNone (result )
459520
460521
461522@mock .patch (
@@ -5265,7 +5326,7 @@ def test_server_migrate_with_disk_overcommit(self):
52655326 self .assertNotCalled (self .servers_mock .live_migrate )
52665327 self .assertNotCalled (self .servers_mock .migrate )
52675328
5268- def test_server_migrate_with_host_pre_2_56 (self ):
5329+ def test_server_migrate_with_host_pre_v256 (self ):
52695330 # Tests that --host is not allowed for a cold migration
52705331 # before microversion 2.56 (the test defaults to 2.1).
52715332 arglist = [
@@ -6682,7 +6743,7 @@ def test_rebuild_with_user_data(self, mock_open):
66826743 self .image , None ,
66836744 userdata = mock_file ,)
66846745
6685- def test_rebuild_with_user_data_pre_257 (self ):
6746+ def test_rebuild_with_user_data_pre_v257 (self ):
66866747 self .app .client_manager .compute .api_version = \
66876748 api_versions .APIVersion ('2.56' )
66886749
@@ -6722,7 +6783,7 @@ def test_rebuild_with_no_user_data(self):
67226783 self .server .rebuild .assert_called_with (
67236784 self .image , None , userdata = None )
67246785
6725- def test_rebuild_with_no_user_data_pre_254 (self ):
6786+ def test_rebuild_with_no_user_data_pre_v254 (self ):
67266787 self .app .client_manager .compute .api_version = \
67276788 api_versions .APIVersion ('2.53' )
67286789
@@ -6814,7 +6875,7 @@ def test_rebuild_with_no_trusted_image_cert(self):
68146875 self .server .rebuild .assert_called_with (
68156876 self .image , None , trusted_image_certificates = None )
68166877
6817- def test_rebuild_with_no_trusted_image_cert_pre_257 (self ):
6878+ def test_rebuild_with_no_trusted_image_cert_pre_v263 (self ):
68186879 self .app .client_manager .compute .api_version = \
68196880 api_versions .APIVersion ('2.62' )
68206881
0 commit comments