Skip to content

Commit 2966bd0

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Functional test for server group"
2 parents e35c97a + c8ab58b commit 2966bd0

1 file changed

Lines changed: 86 additions & 26 deletions

File tree

openstackclient/tests/functional/compute/v2/test_server_group.py

Lines changed: 86 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
# License for the specific language governing permissions and limitations
1111
# under the License.
1212

13+
import json
1314
import uuid
1415

1516
from openstackclient.tests.functional import base
@@ -18,29 +19,88 @@
1819
class ServerGroupTests(base.TestCase):
1920
"""Functional tests for servergroup."""
2021

21-
NAME = uuid.uuid4().hex
22-
HEADERS = ['Name']
23-
FIELDS = ['name']
24-
25-
@classmethod
26-
def setUpClass(cls):
27-
opts = cls.get_opts(cls.FIELDS)
28-
raw_output = cls.openstack('server group create --policy affinity ' +
29-
cls.NAME + opts)
30-
expected = cls.NAME + '\n'
31-
cls.assertOutput(expected, raw_output)
32-
33-
@classmethod
34-
def tearDownClass(cls):
35-
raw_output = cls.openstack('server group delete ' + cls.NAME)
36-
cls.assertOutput('', raw_output)
37-
38-
def test_server_group_list(self):
39-
opts = self.get_opts(self.HEADERS)
40-
raw_output = self.openstack('server group list' + opts)
41-
self.assertIn(self.NAME, raw_output)
42-
43-
def test_server_group_show(self):
44-
opts = self.get_opts(self.FIELDS)
45-
raw_output = self.openstack('server group show ' + self.NAME + opts)
46-
self.assertEqual(self.NAME + "\n", raw_output)
22+
def test_server_group_delete(self):
23+
"""Test create, delete multiple"""
24+
name1 = uuid.uuid4().hex
25+
name2 = uuid.uuid4().hex
26+
cmd_output = json.loads(self.openstack(
27+
'server group create -f json ' +
28+
'--policy affinity ' +
29+
name1
30+
))
31+
self.assertEqual(
32+
name1,
33+
cmd_output['name']
34+
)
35+
self.assertEqual(
36+
'affinity',
37+
cmd_output['policies']
38+
)
39+
40+
cmd_output = json.loads(self.openstack(
41+
'server group create -f json ' +
42+
'--policy anti-affinity ' +
43+
name2
44+
))
45+
self.assertEqual(
46+
name2,
47+
cmd_output['name']
48+
)
49+
self.assertEqual(
50+
'anti-affinity',
51+
cmd_output['policies']
52+
)
53+
54+
del_output = self.openstack(
55+
'server group delete ' + name1 + ' ' + name2)
56+
self.assertOutput('', del_output)
57+
58+
def test_server_group_show_and_list(self):
59+
"""Test server group create, show, and list"""
60+
name1 = uuid.uuid4().hex
61+
name2 = uuid.uuid4().hex
62+
63+
# test server gorup show
64+
cmd_output = json.loads(self.openstack(
65+
'server group create -f json ' +
66+
'--policy affinity ' +
67+
name1
68+
))
69+
self.addCleanup(self.openstack, 'server group delete ' + name1)
70+
cmd_output = json.loads(self.openstack(
71+
'server group show -f json ' + name1))
72+
self.assertEqual(
73+
name1,
74+
cmd_output['name']
75+
)
76+
self.assertEqual(
77+
'affinity',
78+
cmd_output['policies']
79+
)
80+
81+
cmd_output = json.loads(self.openstack(
82+
'server group create -f json ' +
83+
'--policy anti-affinity ' +
84+
name2
85+
))
86+
self.addCleanup(self.openstack, 'server group delete ' + name2)
87+
cmd_output = json.loads(self.openstack(
88+
'server group show -f json ' + name2))
89+
self.assertEqual(
90+
name2,
91+
cmd_output['name']
92+
)
93+
self.assertEqual(
94+
'anti-affinity',
95+
cmd_output['policies']
96+
)
97+
98+
# test server group list
99+
cmd_output = json.loads(self.openstack(
100+
'server group list -f json'))
101+
names = [x["Name"] for x in cmd_output]
102+
self.assertIn(name1, names)
103+
self.assertIn(name2, names)
104+
policies = [x["Policies"] for x in cmd_output]
105+
self.assertIn('affinity', policies)
106+
self.assertIn('anti-affinity', policies)

0 commit comments

Comments
 (0)