summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-07-29 13:21:20 +0000
committerGerrit Code Review <review@openstack.org>2016-07-29 13:21:20 +0000
commitb7b140df06faa1ff451ca5e50f3690191cb316cb (patch)
treec98dce92ebe1de3adb70b21cc7b69722a3bce05b /openstackclient
parent3b6bb4f495018215699255e6ad6060f7605c2c27 (diff)
parente26eecc12f2dc659995fc0ef00b4ef12c714c46e (diff)
downloadpython-openstackclient-b7b140df06faa1ff451ca5e50f3690191cb316cb.tar.gz
Merge "Pass security group id to novaclient while adding security group to server"
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/compute/v2/server.py2
-rw-r--r--openstackclient/tests/compute/v2/test_server.py48
2 files changed, 49 insertions, 1 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index 16c86bd9..3e6903b7 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -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):
diff --git a/openstackclient/tests/compute/v2/test_server.py b/openstackclient/tests/compute/v2/test_server.py
index e487d57c..a98398ee 100644
--- a/openstackclient/tests/compute/v2/test_server.py
+++ b/openstackclient/tests/compute/v2/test_server.py
@@ -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 = (