Skip to content

Commit 15a079f

Browse files
author
Dean Troyer
committed
Fix volume type functional tests
Convert functional VolumeTypeTests to not use class methods for setup. Depends-On: https://review.openstack.org/577147 Change-Id: I855583ad1a50bf5f5046acdb85e977ab9e3c45d2
1 parent 9766eb2 commit 15a079f

3 files changed

Lines changed: 175 additions & 77 deletions

File tree

openstackclient/tests/functional/volume/v1/test_volume_type.py

Lines changed: 80 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -20,62 +20,92 @@
2020
class VolumeTypeTests(common.BaseVolumeTests):
2121
"""Functional tests for volume type. """
2222

23-
NAME = uuid.uuid4().hex
24-
25-
@classmethod
26-
def setUpClass(cls):
27-
super(VolumeTypeTests, cls).setUpClass()
28-
cmd_output = json.loads(cls.openstack(
29-
'volume type create -f json %s' % cls.NAME))
30-
cls.assertOutput(cls.NAME, cmd_output['name'])
31-
32-
@classmethod
33-
def tearDownClass(cls):
34-
try:
35-
raw_output = cls.openstack('volume type delete %s' % cls.NAME)
36-
cls.assertOutput('', raw_output)
37-
finally:
38-
super(VolumeTypeTests, cls).tearDownClass()
39-
40-
def test_volume_type_list(self):
23+
def test_volume_type_create_list(self):
24+
name = uuid.uuid4().hex
25+
cmd_output = json.loads(self.openstack(
26+
'volume type create -f json --private ' +
27+
name,
28+
))
29+
self.addCleanup(
30+
self.openstack,
31+
'volume type delete ' +
32+
name,
33+
)
34+
self.assertEqual(name, cmd_output['name'])
35+
36+
cmd_output = json.loads(self.openstack(
37+
'volume type show -f json %s' % name
38+
))
39+
self.assertEqual(self.NAME, cmd_output['name'])
40+
4141
cmd_output = json.loads(self.openstack('volume type list -f json'))
4242
self.assertIn(self.NAME, [t['Name'] for t in cmd_output])
4343

44-
def test_volume_type_show(self):
4544
cmd_output = json.loads(self.openstack(
46-
'volume type show -f json %s' % self.NAME))
47-
self.assertEqual(self.NAME, cmd_output['name'])
45+
'volume type list -f json --default'
46+
))
47+
self.assertEqual(1, len(cmd_output))
48+
self.assertEqual('lvmdriver-1', cmd_output[0]['Name'])
4849

4950
def test_volume_type_set_unset_properties(self):
51+
name = uuid.uuid4().hex
52+
cmd_output = json.loads(self.openstack(
53+
'volume type create -f json --private ' +
54+
name,
55+
))
56+
self.addCleanup(
57+
self.openstack,
58+
'volume type delete ' + name
59+
)
60+
self.assertEqual(name, cmd_output['name'])
61+
5062
raw_output = self.openstack(
51-
'volume type set --property a=b --property c=d %s' % self.NAME)
63+
'volume type set --property a=b --property c=d %s' % name
64+
)
5265
self.assertEqual("", raw_output)
53-
5466
cmd_output = json.loads(self.openstack(
55-
'volume type show -f json ' + self.NAME))
67+
'volume type show -f json %s' % name
68+
))
69+
# TODO(amotoki): properties output should be machine-readable
5670
self.assertEqual("a='b', c='d'", cmd_output['properties'])
5771

58-
raw_output = self.openstack('volume type unset --property a %s' %
59-
self.NAME)
72+
raw_output = self.openstack(
73+
'volume type unset --property a %s' % name
74+
)
6075
self.assertEqual("", raw_output)
6176
cmd_output = json.loads(self.openstack(
62-
'volume type show -f json %s' % self.NAME))
77+
'volume type show -f json %s' % name
78+
))
6379
self.assertEqual("c='d'", cmd_output['properties'])
6480

6581
def test_volume_type_set_unset_multiple_properties(self):
82+
name = uuid.uuid4().hex
83+
cmd_output = json.loads(self.openstack(
84+
'volume type create -f json --private ' +
85+
name,
86+
))
87+
self.addCleanup(
88+
self.openstack,
89+
'volume type delete ' + name
90+
)
91+
self.assertEqual(name, cmd_output['name'])
92+
6693
raw_output = self.openstack(
67-
'volume type set --property a=b --property c=d %s' % self.NAME)
94+
'volume type set --property a=b --property c=d %s' % name
95+
)
6896
self.assertEqual("", raw_output)
69-
7097
cmd_output = json.loads(self.openstack(
71-
'volume type show -f json %s' % self.NAME))
98+
'volume type show -f json %s' % name
99+
))
72100
self.assertEqual("a='b', c='d'", cmd_output['properties'])
73101

74102
raw_output = self.openstack(
75-
'volume type unset --property a --property c %s' % self.NAME)
103+
'volume type unset --property a --property c %s' % name
104+
)
76105
self.assertEqual("", raw_output)
77106
cmd_output = json.loads(self.openstack(
78-
'volume type show -f json %s' % self.NAME))
107+
'volume type show -f json %s' % name
108+
))
79109
self.assertEqual("", cmd_output['properties'])
80110

81111
def test_multi_delete(self):
@@ -140,8 +170,21 @@ def test_encryption_type(self):
140170
'--encryption-control-location front-end ' +
141171
self.NAME)
142172
self.assertEqual('', raw_output)
173+
174+
name = uuid.uuid4().hex
175+
cmd_output = json.loads(self.openstack(
176+
'volume type create -f json --private ' +
177+
name,
178+
))
179+
self.addCleanup(
180+
self.openstack,
181+
'volume type delete ' + name,
182+
)
183+
self.assertEqual(name, cmd_output['name'])
184+
143185
cmd_output = json.loads(self.openstack(
144-
'volume type show -f json --encryption-type ' + self.NAME))
186+
'volume type show -f json --encryption-type ' + name
187+
))
145188
expected = ["provider='LuksEncryptor'",
146189
"cipher='aes-xts-plain64'",
147190
"key_size='128'",
@@ -150,10 +193,12 @@ def test_encryption_type(self):
150193
self.assertIn(attr, cmd_output['encryption'])
151194
# test unset encryption type
152195
raw_output = self.openstack(
153-
'volume type unset --encryption-type ' + self.NAME)
196+
'volume type unset --encryption-type ' + name
197+
)
154198
self.assertEqual('', raw_output)
155199
cmd_output = json.loads(self.openstack(
156-
'volume type show -f json --encryption-type ' + self.NAME))
200+
'volume type show -f json --encryption-type ' + name
201+
))
157202
self.assertEqual('', cmd_output['encryption'])
158203
# test delete encryption type
159204
raw_output = self.openstack('volume type delete ' + encryption_type)

openstackclient/tests/functional/volume/v2/test_qos.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,6 @@ def test_volume_qos_set_show_unset(self):
125125
def test_volume_qos_asso_disasso(self):
126126
"""Tests associate and disassociate qos with volume type"""
127127
vol_type1 = uuid.uuid4().hex
128-
vol_type2 = uuid.uuid4().hex
129128
cmd_output = json.loads(self.openstack(
130129
'volume type create -f json ' +
131130
vol_type1
@@ -134,6 +133,9 @@ def test_volume_qos_asso_disasso(self):
134133
vol_type1,
135134
cmd_output['name']
136135
)
136+
self.addCleanup(self.openstack, 'volume type delete ' + vol_type1)
137+
138+
vol_type2 = uuid.uuid4().hex
137139
cmd_output = json.loads(self.openstack(
138140
'volume type create -f json ' +
139141
vol_type2
@@ -142,7 +144,6 @@ def test_volume_qos_asso_disasso(self):
142144
vol_type2,
143145
cmd_output['name']
144146
)
145-
self.addCleanup(self.openstack, 'volume type delete ' + vol_type1)
146147
self.addCleanup(self.openstack, 'volume type delete ' + vol_type2)
147148

148149
name = uuid.uuid4().hex

openstackclient/tests/functional/volume/v2/test_volume_type.py

Lines changed: 92 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -20,76 +20,113 @@
2020
class VolumeTypeTests(common.BaseVolumeTests):
2121
"""Functional tests for volume type. """
2222

23-
NAME = uuid.uuid4().hex
24-
25-
@classmethod
26-
def setUpClass(cls):
27-
super(VolumeTypeTests, cls).setUpClass()
28-
cmd_output = json.loads(cls.openstack(
29-
'volume type create -f json --private %s' % cls.NAME))
30-
cls.assertOutput(cls.NAME, cmd_output['name'])
31-
32-
@classmethod
33-
def tearDownClass(cls):
34-
try:
35-
raw_output = cls.openstack('volume type delete %s' % cls.NAME)
36-
cls.assertOutput('', raw_output)
37-
finally:
38-
super(VolumeTypeTests, cls).tearDownClass()
39-
40-
def test_volume_type_list(self):
23+
def test_volume_type_create_list(self):
24+
name = uuid.uuid4().hex
25+
cmd_output = json.loads(self.openstack(
26+
'volume type create -f json --private ' +
27+
name,
28+
))
29+
self.addCleanup(
30+
self.openstack,
31+
'volume type delete ' + name,
32+
)
33+
self.assertEqual(name, cmd_output['name'])
34+
35+
cmd_output = json.loads(self.openstack(
36+
'volume type show -f json %s' % name
37+
))
38+
self.assertEqual(name, cmd_output['name'])
39+
4140
cmd_output = json.loads(self.openstack('volume type list -f json'))
42-
self.assertIn(self.NAME, [t['Name'] for t in cmd_output])
41+
self.assertIn(name, [t['Name'] for t in cmd_output])
4342

44-
def test_volume_type_list_default(self):
4543
cmd_output = json.loads(self.openstack(
46-
'volume type list -f json --default'))
44+
'volume type list -f json --default'
45+
))
4746
self.assertEqual(1, len(cmd_output))
4847
self.assertEqual('lvmdriver-1', cmd_output[0]['Name'])
4948

50-
def test_volume_type_show(self):
49+
def test_volume_type_set_unset_properties(self):
50+
name = uuid.uuid4().hex
5151
cmd_output = json.loads(self.openstack(
52-
'volume type show -f json %s' % self.NAME))
53-
self.assertEqual(self.NAME, cmd_output['name'])
52+
'volume type create -f json --private ' +
53+
name,
54+
))
55+
self.addCleanup(
56+
self.openstack,
57+
'volume type delete ' + name
58+
)
59+
self.assertEqual(name, cmd_output['name'])
5460

55-
def test_volume_type_set_unset_properties(self):
5661
raw_output = self.openstack(
57-
'volume type set --property a=b --property c=d %s' % self.NAME)
62+
'volume type set --property a=b --property c=d %s' % name
63+
)
5864
self.assertEqual("", raw_output)
5965
cmd_output = json.loads(self.openstack(
60-
'volume type show -f json %s' % self.NAME))
66+
'volume type show -f json %s' % name
67+
))
6168
# TODO(amotoki): properties output should be machine-readable
6269
self.assertEqual("a='b', c='d'", cmd_output['properties'])
6370

64-
raw_output = self.openstack('volume type unset --property a %s' %
65-
self.NAME)
71+
raw_output = self.openstack(
72+
'volume type unset --property a %s' % name
73+
)
6674
self.assertEqual("", raw_output)
6775
cmd_output = json.loads(self.openstack(
68-
'volume type show -f json %s' % self.NAME))
76+
'volume type show -f json %s' % name
77+
))
6978
self.assertEqual("c='d'", cmd_output['properties'])
7079

7180
def test_volume_type_set_unset_multiple_properties(self):
81+
name = uuid.uuid4().hex
82+
cmd_output = json.loads(self.openstack(
83+
'volume type create -f json --private ' +
84+
name,
85+
))
86+
self.addCleanup(
87+
self.openstack,
88+
'volume type delete ' + name
89+
)
90+
self.assertEqual(name, cmd_output['name'])
91+
7292
raw_output = self.openstack(
73-
'volume type set --property a=b --property c=d %s' % self.NAME)
93+
'volume type set --property a=b --property c=d %s' % name
94+
)
7495
self.assertEqual("", raw_output)
7596
cmd_output = json.loads(self.openstack(
76-
'volume type show -f json %s' % self.NAME))
97+
'volume type show -f json %s' % name
98+
))
7799
self.assertEqual("a='b', c='d'", cmd_output['properties'])
78100

79101
raw_output = self.openstack(
80-
'volume type unset --property a --property c %s' % self.NAME)
102+
'volume type unset --property a --property c %s' % name
103+
)
81104
self.assertEqual("", raw_output)
82105
cmd_output = json.loads(self.openstack(
83-
'volume type show -f json %s' % self.NAME))
106+
'volume type show -f json %s' % name
107+
))
84108
self.assertEqual("", cmd_output['properties'])
85109

86110
def test_volume_type_set_unset_project(self):
111+
name = uuid.uuid4().hex
112+
cmd_output = json.loads(self.openstack(
113+
'volume type create -f json --private ' +
114+
name,
115+
))
116+
self.addCleanup(
117+
self.openstack,
118+
'volume type delete ' + name
119+
)
120+
self.assertEqual(name, cmd_output['name'])
121+
87122
raw_output = self.openstack(
88-
'volume type set --project admin %s' % self.NAME)
123+
'volume type set --project admin %s' % name
124+
)
89125
self.assertEqual("", raw_output)
90126

91127
raw_output = self.openstack(
92-
'volume type unset --project admin %s' % self.NAME)
128+
'volume type unset --project admin %s' % name
129+
)
93130
self.assertEqual("", raw_output)
94131

95132
def test_multi_delete(self):
@@ -108,6 +145,7 @@ def test_multi_delete(self):
108145
# these to new test format when beef up all tests for
109146
# volume tye commands.
110147
def test_encryption_type(self):
148+
name = uuid.uuid4().hex
111149
encryption_type = uuid.uuid4().hex
112150
# test create new encryption type
113151
cmd_output = json.loads(self.openstack(
@@ -162,16 +200,28 @@ def test_encryption_type(self):
162200
for attr in expected:
163201
self.assertIn(attr, cmd_output['encryption'])
164202
# test set new encryption type
203+
cmd_output = json.loads(self.openstack(
204+
'volume type create -f json --private ' +
205+
name,
206+
))
207+
self.addCleanup(
208+
self.openstack,
209+
'volume type delete ' + name,
210+
)
211+
self.assertEqual(name, cmd_output['name'])
212+
165213
raw_output = self.openstack(
166214
'volume type set '
167215
'--encryption-provider LuksEncryptor '
168216
'--encryption-cipher aes-xts-plain64 '
169217
'--encryption-key-size 128 '
170218
'--encryption-control-location front-end ' +
171-
self.NAME)
219+
name)
172220
self.assertEqual('', raw_output)
221+
173222
cmd_output = json.loads(self.openstack(
174-
'volume type show -f json --encryption-type ' + self.NAME))
223+
'volume type show -f json --encryption-type ' + name
224+
))
175225
expected = ["provider='LuksEncryptor'",
176226
"cipher='aes-xts-plain64'",
177227
"key_size='128'",
@@ -180,10 +230,12 @@ def test_encryption_type(self):
180230
self.assertIn(attr, cmd_output['encryption'])
181231
# test unset encryption type
182232
raw_output = self.openstack(
183-
'volume type unset --encryption-type ' + self.NAME)
233+
'volume type unset --encryption-type ' + name
234+
)
184235
self.assertEqual('', raw_output)
185236
cmd_output = json.loads(self.openstack(
186-
'volume type show -f json --encryption-type ' + self.NAME))
237+
'volume type show -f json --encryption-type ' + name
238+
))
187239
self.assertEqual('', cmd_output['encryption'])
188240
# test delete encryption type
189241
raw_output = self.openstack('volume type delete ' + encryption_type)

0 commit comments

Comments
 (0)