@@ -168,6 +168,54 @@ def test_server_add_floating_ip(self):
168168 self .assertIsNone (result )
169169
170170
171+ class TestServerAddSecurityGroup (TestServer ):
172+
173+ def setUp (self ):
174+ super (TestServerAddSecurityGroup , self ).setUp ()
175+
176+ self .security_group = \
177+ compute_fakes .FakeSecurityGroup .create_one_security_group ()
178+ # This is the return value for utils.find_resource() for security group
179+ self .security_groups_mock .get .return_value = self .security_group
180+
181+ attrs = {
182+ 'security_groups' : [{'name' : self .security_group .id }]
183+ }
184+ methods = {
185+ 'add_security_group' : None ,
186+ }
187+
188+ self .server = compute_fakes .FakeServer .create_one_server (
189+ attrs = attrs ,
190+ methods = methods
191+ )
192+ # This is the return value for utils.find_resource() for server
193+ self .servers_mock .get .return_value = self .server
194+
195+ # Get the command object to test
196+ self .cmd = server .AddServerSecurityGroup (self .app , None )
197+
198+ def test_server_add_security_group (self ):
199+ arglist = [
200+ self .server .id ,
201+ self .security_group .id
202+ ]
203+ verifylist = [
204+ ('server' , self .server .id ),
205+ ('group' , self .security_group .id ),
206+ ]
207+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
208+ result = self .cmd .take_action (parsed_args )
209+ self .security_groups_mock .get .assert_called_with (
210+ self .security_group .id ,
211+ )
212+ self .servers_mock .get .assert_called_with (self .server .id )
213+ self .server .add_security_group .assert_called_with (
214+ self .security_group .id ,
215+ )
216+ self .assertIsNone (result )
217+
218+
171219class TestServerCreate (TestServer ):
172220
173221 columns = (
0 commit comments