Merge "Pass security group id to novaclient"

This commit is contained in:
Jenkins 2016-07-18 18:35:15 +00:00 committed by Gerrit Code Review
commit beaa06138e
2 changed files with 54 additions and 1 deletions

View File

@ -1222,7 +1222,7 @@ class RemoveServerSecurityGroup(command.Command):
parsed_args.group,
)
server.remove_security_group(security_group)
server.remove_security_group(security_group.id)
class RemoveServerVolume(command.Command):

View File

@ -43,6 +43,11 @@ class TestServer(compute_fakes.TestComputev2):
self.flavors_mock = self.app.client_manager.compute.flavors
self.flavors_mock.reset_mock()
# Get a shortcut to the compute client SecurityGroupManager Mock
self.security_groups_mock = \
self.app.client_manager.compute.security_groups
self.security_groups_mock.reset_mock()
# Get a shortcut to the image client ImageManager Mock
self.images_mock = self.app.client_manager.image.images
self.images_mock.reset_mock()
@ -981,6 +986,54 @@ class TestServerRemoveFloatingIP(TestServer):
self.assertIsNone(result)
class TestServerRemoveSecurityGroup(TestServer):
def setUp(self):
super(TestServerRemoveSecurityGroup, self).setUp()
self.security_group = \
compute_fakes.FakeSecurityGroup.create_one_security_group()
# This is the return value for utils.find_resource() for security group
self.security_groups_mock.get.return_value = self.security_group
attrs = {
'security_groups': [{'name': self.security_group.id}]
}
methods = {
'remove_security_group': None,
}
self.server = compute_fakes.FakeServer.create_one_server(
attrs=attrs,
methods=methods
)
# This is the return value for utils.find_resource() for server
self.servers_mock.get.return_value = self.server
# Get the command object to test
self.cmd = server.RemoveServerSecurityGroup(self.app, None)
def test_server_remove_security_group(self):
arglist = [
self.server.id,
self.security_group.id
]
verifylist = [
('server', self.server.id),
('group', self.security_group.id),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
result = self.cmd.take_action(parsed_args)
self.security_groups_mock.get.assert_called_with(
self.security_group.id,
)
self.servers_mock.get.assert_called_with(self.server.id)
self.server.remove_security_group.assert_called_with(
self.security_group.id,
)
self.assertIsNone(result)
class TestServerResize(TestServer):
def setUp(self):