@@ -465,6 +465,59 @@ def test_server_add_port_no_neutron(self):
465465 self ._test_server_add_port ('fake-port' )
466466 self .find_port .assert_not_called ()
467467
468+ def test_server_add_port_with_tag (self ):
469+ self .app .client_manager .compute .api_version = api_versions .APIVersion (
470+ '2.49' )
471+
472+ servers = self .setup_servers_mock (count = 1 )
473+ self .find_port .return_value .id = 'fake-port'
474+ arglist = [
475+ servers [0 ].id ,
476+ 'fake-port' ,
477+ '--tag' , 'tag1' ,
478+ ]
479+ verifylist = [
480+ ('server' , servers [0 ].id ),
481+ ('port' , 'fake-port' ),
482+ ('tag' , 'tag1' ),
483+ ]
484+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
485+
486+ result = self .cmd .take_action (parsed_args )
487+ self .assertIsNone (result )
488+
489+ servers [0 ].interface_attach .assert_called_once_with (
490+ port_id = 'fake-port' ,
491+ net_id = None ,
492+ fixed_ip = None ,
493+ tag = 'tag1' )
494+
495+ def test_server_add_port_with_tag_pre_v249 (self ):
496+ self .app .client_manager .compute .api_version = api_versions .APIVersion (
497+ '2.48' )
498+
499+ servers = self .setup_servers_mock (count = 1 )
500+ self .find_port .return_value .id = 'fake-port'
501+ arglist = [
502+ servers [0 ].id ,
503+ 'fake-port' ,
504+ '--tag' , 'tag1' ,
505+ ]
506+ verifylist = [
507+ ('server' , servers [0 ].id ),
508+ ('port' , 'fake-port' ),
509+ ('tag' , 'tag1' ),
510+ ]
511+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
512+
513+ ex = self .assertRaises (
514+ exceptions .CommandError ,
515+ self .cmd .take_action ,
516+ parsed_args )
517+ self .assertIn (
518+ '--os-compute-api-version 2.49 or greater is required' ,
519+ str (ex ))
520+
468521
469522class TestServerVolume (TestServer ):
470523
0 commit comments