@@ -88,6 +88,45 @@ def run_method_with_servers(self, method_name, server_count):
8888 self .assertIsNone (result )
8989
9090
91+ class TestServerAddFixedIP (TestServer ):
92+
93+ def setUp (self ):
94+ super (TestServerAddFixedIP , self ).setUp ()
95+
96+ # Get a shortcut to the compute client ServerManager Mock
97+ self .networks_mock = self .app .client_manager .compute .networks
98+
99+ # Get the command object to test
100+ self .cmd = server .AddFixedIP (self .app , None )
101+
102+ # Set add_fixed_ip method to be tested.
103+ self .methods = {
104+ 'add_fixed_ip' : None ,
105+ }
106+
107+ def test_server_add_fixed_ip (self ):
108+ servers = self .setup_servers_mock (count = 1 )
109+ network = compute_fakes .FakeNetwork .create_one_network ()
110+ self .networks_mock .get .return_value = network
111+
112+ arglist = [
113+ servers [0 ].id ,
114+ network .id ,
115+ ]
116+ verifylist = [
117+ ('server' , servers [0 ].id ),
118+ ('network' , network .id )
119+ ]
120+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
121+
122+ result = self .cmd .take_action (parsed_args )
123+
124+ servers [0 ].add_fixed_ip .assert_called_once_with (
125+ network .id ,
126+ )
127+ self .assertIsNone (result )
128+
129+
91130class TestServerAddFloatingIP (TestServer ):
92131
93132 def setUp (self ):
@@ -878,6 +917,38 @@ def test_rebuild_with_wait_fails(self, mock_wait_for_status):
878917 self .server .rebuild .assert_called_with (self .image , None )
879918
880919
920+ class TestServerRemoveFixedIP (TestServer ):
921+
922+ def setUp (self ):
923+ super (TestServerRemoveFixedIP , self ).setUp ()
924+
925+ # Get the command object to test
926+ self .cmd = server .RemoveFixedIP (self .app , None )
927+
928+ # Set unshelve method to be tested.
929+ self .methods = {
930+ 'remove_fixed_ip' : None ,
931+ }
932+
933+ def test_server_remove_fixed_ip (self ):
934+ servers = self .setup_servers_mock (count = 1 )
935+
936+ arglist = [
937+ servers [0 ].id ,
938+ '1.2.3.4' ,
939+ ]
940+ verifylist = [
941+ ('server' , servers [0 ].id ),
942+ ('ip_address' , '1.2.3.4' ),
943+ ]
944+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
945+
946+ result = self .cmd .take_action (parsed_args )
947+
948+ servers [0 ].remove_fixed_ip .assert_called_once_with ('1.2.3.4' )
949+ self .assertIsNone (result )
950+
951+
881952class TestServerRemoveFloatingIP (TestServer ):
882953
883954 def setUp (self ):
0 commit comments