From 42749024b61901b4ab16cc43a4c3aa7d91b71335 Mon Sep 17 00:00:00 2001 From: Giampaolo Lauria Date: Wed, 20 Mar 2013 15:53:24 -0400 Subject: [PATCH] Add SecurityGroups API sample tests Add sample tests for adding and removing security groups Fixes bug 1157222 Change-Id: Ib8450fcd6334b720a2199d52e07ae00f78aa6df0 --- .../security-group-add-post-req.json | 5 +++ .../security-group-add-post-req.xml | 4 ++ .../security-group-post-req.json | 2 +- .../security-group-post-req.xml | 2 +- .../security-group-remove-post-req.json | 5 +++ .../security-group-remove-post-req.xml | 4 ++ .../security-groups-create-resp.json | 2 +- .../security-groups-create-resp.xml | 2 +- .../security-group-add-post-req.json.tpl | 5 +++ .../security-group-add-post-req.xml.tpl | 4 ++ .../security-group-remove-post-req.json.tpl | 5 +++ .../security-group-remove-post-req.xml.tpl | 4 ++ nova/tests/integrated/test_api_samples.py | 44 ++++++++++++++++--- 13 files changed, 78 insertions(+), 10 deletions(-) create mode 100644 doc/api_samples/os-security-groups/security-group-add-post-req.json create mode 100644 doc/api_samples/os-security-groups/security-group-add-post-req.xml create mode 100644 doc/api_samples/os-security-groups/security-group-remove-post-req.json create mode 100644 doc/api_samples/os-security-groups/security-group-remove-post-req.xml create mode 100644 nova/tests/integrated/api_samples/os-security-groups/security-group-add-post-req.json.tpl create mode 100644 nova/tests/integrated/api_samples/os-security-groups/security-group-add-post-req.xml.tpl create mode 100644 nova/tests/integrated/api_samples/os-security-groups/security-group-remove-post-req.json.tpl create mode 100644 nova/tests/integrated/api_samples/os-security-groups/security-group-remove-post-req.xml.tpl diff --git a/doc/api_samples/os-security-groups/security-group-add-post-req.json b/doc/api_samples/os-security-groups/security-group-add-post-req.json new file mode 100644 index 000000000000..7e0d0670ef10 --- /dev/null +++ b/doc/api_samples/os-security-groups/security-group-add-post-req.json @@ -0,0 +1,5 @@ +{ + "addSecurityGroup" : { + "name" : "test" + } +} \ No newline at end of file diff --git a/doc/api_samples/os-security-groups/security-group-add-post-req.xml b/doc/api_samples/os-security-groups/security-group-add-post-req.xml new file mode 100644 index 000000000000..e9e20739b8ea --- /dev/null +++ b/doc/api_samples/os-security-groups/security-group-add-post-req.xml @@ -0,0 +1,4 @@ + + + test + \ No newline at end of file diff --git a/doc/api_samples/os-security-groups/security-group-post-req.json b/doc/api_samples/os-security-groups/security-group-post-req.json index d6ab42c6902a..0951408c595c 100644 --- a/doc/api_samples/os-security-groups/security-group-post-req.json +++ b/doc/api_samples/os-security-groups/security-group-post-req.json @@ -1,6 +1,6 @@ { "security_group": { - "name": "json-test", + "name": "test", "description": "description" } } \ No newline at end of file diff --git a/doc/api_samples/os-security-groups/security-group-post-req.xml b/doc/api_samples/os-security-groups/security-group-post-req.xml index 60b3c249d287..03ccbd5c4846 100644 --- a/doc/api_samples/os-security-groups/security-group-post-req.xml +++ b/doc/api_samples/os-security-groups/security-group-post-req.xml @@ -1,4 +1,4 @@ - + description diff --git a/doc/api_samples/os-security-groups/security-group-remove-post-req.json b/doc/api_samples/os-security-groups/security-group-remove-post-req.json new file mode 100644 index 000000000000..8ee3d87a3cba --- /dev/null +++ b/doc/api_samples/os-security-groups/security-group-remove-post-req.json @@ -0,0 +1,5 @@ +{ + "removeSecurityGroup" : { + "name" : "test" + } +} \ No newline at end of file diff --git a/doc/api_samples/os-security-groups/security-group-remove-post-req.xml b/doc/api_samples/os-security-groups/security-group-remove-post-req.xml new file mode 100644 index 000000000000..74ac139b83ce --- /dev/null +++ b/doc/api_samples/os-security-groups/security-group-remove-post-req.xml @@ -0,0 +1,4 @@ + + + test + \ No newline at end of file diff --git a/doc/api_samples/os-security-groups/security-groups-create-resp.json b/doc/api_samples/os-security-groups/security-groups-create-resp.json index d09f83d98ca1..921aa6a8beab 100644 --- a/doc/api_samples/os-security-groups/security-groups-create-resp.json +++ b/doc/api_samples/os-security-groups/security-groups-create-resp.json @@ -2,7 +2,7 @@ "security_group": { "description": "description", "id": 2, - "name": "json-test", + "name": "test", "rules": [], "tenant_id": "openstack" } diff --git a/doc/api_samples/os-security-groups/security-groups-create-resp.xml b/doc/api_samples/os-security-groups/security-groups-create-resp.xml index 494fb28d98f3..045387ea6258 100644 --- a/doc/api_samples/os-security-groups/security-groups-create-resp.xml +++ b/doc/api_samples/os-security-groups/security-groups-create-resp.xml @@ -1,5 +1,5 @@ - + description diff --git a/nova/tests/integrated/api_samples/os-security-groups/security-group-add-post-req.json.tpl b/nova/tests/integrated/api_samples/os-security-groups/security-group-add-post-req.json.tpl new file mode 100644 index 000000000000..41ae6591354b --- /dev/null +++ b/nova/tests/integrated/api_samples/os-security-groups/security-group-add-post-req.json.tpl @@ -0,0 +1,5 @@ +{ + "addSecurityGroup" : { + "name" : "%(group_name)s" + } +} diff --git a/nova/tests/integrated/api_samples/os-security-groups/security-group-add-post-req.xml.tpl b/nova/tests/integrated/api_samples/os-security-groups/security-group-add-post-req.xml.tpl new file mode 100644 index 000000000000..7540245bc35e --- /dev/null +++ b/nova/tests/integrated/api_samples/os-security-groups/security-group-add-post-req.xml.tpl @@ -0,0 +1,4 @@ + + + %(group_name)s + diff --git a/nova/tests/integrated/api_samples/os-security-groups/security-group-remove-post-req.json.tpl b/nova/tests/integrated/api_samples/os-security-groups/security-group-remove-post-req.json.tpl new file mode 100644 index 000000000000..a3f545785f80 --- /dev/null +++ b/nova/tests/integrated/api_samples/os-security-groups/security-group-remove-post-req.json.tpl @@ -0,0 +1,5 @@ +{ + "removeSecurityGroup" : { + "name" : "%(group_name)s" + } +} diff --git a/nova/tests/integrated/api_samples/os-security-groups/security-group-remove-post-req.xml.tpl b/nova/tests/integrated/api_samples/os-security-groups/security-group-remove-post-req.xml.tpl new file mode 100644 index 000000000000..9a64a5debc7d --- /dev/null +++ b/nova/tests/integrated/api_samples/os-security-groups/security-group-remove-post-req.xml.tpl @@ -0,0 +1,4 @@ + + + %(group_name)s + diff --git a/nova/tests/integrated/test_api_samples.py b/nova/tests/integrated/test_api_samples.py index f040e58882ef..9d907347eca0 100644 --- a/nova/tests/integrated/test_api_samples.py +++ b/nova/tests/integrated/test_api_samples.py @@ -1090,14 +1090,27 @@ class SecurityGroupsSampleJsonTest(ServersSampleBase): extension_name = "nova.api.openstack.compute.contrib" + \ ".security_groups.Security_groups" - def test_security_group_create(self): - name = self.ctype + '-test' - subs = { - 'group_name': name, + def _get_create_subs(self): + return { + 'group_name': 'test', "description": "description", } - response = self._do_post('os-security-groups', - 'security-group-post-req', subs) + + def _create_security_group(self): + subs = self._get_create_subs() + return self._do_post('os-security-groups', + 'security-group-post-req', subs) + + def _add_group(self, uuid): + subs = { + 'group_name': 'test' + } + return self._do_post('servers/%s/action' % uuid, + 'security-group-add-post-req', subs) + + def test_security_group_create(self): + response = self._create_security_group() + subs = self._get_create_subs() self._verify_response('security-groups-create-resp', subs, response, 200) @@ -1124,6 +1137,25 @@ class SecurityGroupsSampleJsonTest(ServersSampleBase): return self._verify_response('server-security-groups-list-resp', subs, response, 200) + def test_security_groups_add(self): + self._create_security_group() + uuid = self._post_server() + response = self._add_group(uuid) + self.assertEqual(response.status, 202) + self.assertEqual(response.read(), '') + + def test_security_groups_remove(self): + self._create_security_group() + uuid = self._post_server() + self._add_group(uuid) + subs = { + 'group_name': 'test' + } + response = self._do_post('servers/%s/action' % uuid, + 'security-group-remove-post-req', subs) + self.assertEqual(response.status, 202) + self.assertEqual(response.read(), '') + class SecurityGroupsSampleXmlTest(SecurityGroupsSampleJsonTest): ctype = 'xml'