Merge "Pass security group id to novaclient while adding security group to server"

This commit is contained in:
Jenkins 2016-07-29 13:21:20 +00:00 committed by Gerrit Code Review
commit b7b140df06
2 changed files with 49 additions and 1 deletions

View File

@ -260,7 +260,7 @@ class AddServerSecurityGroup(command.Command):
parsed_args.group,
)
server.add_security_group(security_group.name)
server.add_security_group(security_group.id)
class AddServerVolume(command.Command):

View File

@ -168,6 +168,54 @@ class TestServerAddFloatingIP(TestServer):
self.assertIsNone(result)
class TestServerAddSecurityGroup(TestServer):
def setUp(self):
super(TestServerAddSecurityGroup, 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 = {
'add_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.AddServerSecurityGroup(self.app, None)
def test_server_add_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.add_security_group.assert_called_with(
self.security_group.id,
)
self.assertIsNone(result)
class TestServerCreate(TestServer):
columns = (