@@ -43,6 +43,11 @@ def setUp(self):
4343 self .flavors_mock = self .app .client_manager .compute .flavors
4444 self .flavors_mock .reset_mock ()
4545
46+ # Get a shortcut to the compute client SecurityGroupManager Mock
47+ self .security_groups_mock = \
48+ self .app .client_manager .compute .security_groups
49+ self .security_groups_mock .reset_mock ()
50+
4651 # Get a shortcut to the image client ImageManager Mock
4752 self .images_mock = self .app .client_manager .image .images
4853 self .images_mock .reset_mock ()
@@ -981,6 +986,54 @@ def test_server_remove_floating_ip(self):
981986 self .assertIsNone (result )
982987
983988
989+ class TestServerRemoveSecurityGroup (TestServer ):
990+
991+ def setUp (self ):
992+ super (TestServerRemoveSecurityGroup , self ).setUp ()
993+
994+ self .security_group = \
995+ compute_fakes .FakeSecurityGroup .create_one_security_group ()
996+ # This is the return value for utils.find_resource() for security group
997+ self .security_groups_mock .get .return_value = self .security_group
998+
999+ attrs = {
1000+ 'security_groups' : [{'name' : self .security_group .id }]
1001+ }
1002+ methods = {
1003+ 'remove_security_group' : None ,
1004+ }
1005+
1006+ self .server = compute_fakes .FakeServer .create_one_server (
1007+ attrs = attrs ,
1008+ methods = methods
1009+ )
1010+ # This is the return value for utils.find_resource() for server
1011+ self .servers_mock .get .return_value = self .server
1012+
1013+ # Get the command object to test
1014+ self .cmd = server .RemoveServerSecurityGroup (self .app , None )
1015+
1016+ def test_server_remove_security_group (self ):
1017+ arglist = [
1018+ self .server .id ,
1019+ self .security_group .id
1020+ ]
1021+ verifylist = [
1022+ ('server' , self .server .id ),
1023+ ('group' , self .security_group .id ),
1024+ ]
1025+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
1026+ result = self .cmd .take_action (parsed_args )
1027+ self .security_groups_mock .get .assert_called_with (
1028+ self .security_group .id ,
1029+ )
1030+ self .servers_mock .get .assert_called_with (self .server .id )
1031+ self .server .remove_security_group .assert_called_with (
1032+ self .security_group .id ,
1033+ )
1034+ self .assertIsNone (result )
1035+
1036+
9841037class TestServerResize (TestServer ):
9851038
9861039 def setUp (self ):
0 commit comments