Skip to content

Commit f88d2f5

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Add functional test cases for "volume qos associate/disassociate""
2 parents 763288f + edebe55 commit f88d2f5

1 file changed

Lines changed: 93 additions & 1 deletion

File tree

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

Lines changed: 93 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,4 +122,96 @@ def test_volume_qos_set_show_unset(self):
122122
cmd_output['properties']
123123
)
124124

125-
# TODO(qiangjiahui): Add tests for associate and disassociate volume type
125+
def test_volume_qos_asso_disasso(self):
126+
"""Tests associate and disassociate qos with volume type"""
127+
vol_type1 = uuid.uuid4().hex
128+
vol_type2 = uuid.uuid4().hex
129+
cmd_output = json.loads(self.openstack(
130+
'volume type create -f json ' +
131+
vol_type1
132+
))
133+
self.assertEqual(
134+
vol_type1,
135+
cmd_output['name']
136+
)
137+
cmd_output = json.loads(self.openstack(
138+
'volume type create -f json ' +
139+
vol_type2
140+
))
141+
self.assertEqual(
142+
vol_type2,
143+
cmd_output['name']
144+
)
145+
self.addCleanup(self.openstack, 'volume type delete ' + vol_type1)
146+
self.addCleanup(self.openstack, 'volume type delete ' + vol_type2)
147+
148+
name = uuid.uuid4().hex
149+
cmd_output = json.loads(self.openstack(
150+
'volume qos create -f json ' +
151+
name
152+
))
153+
self.assertEqual(
154+
name,
155+
cmd_output['name']
156+
)
157+
self.addCleanup(self.openstack, 'volume qos delete ' + name)
158+
159+
# Test associate
160+
raw_output = self.openstack(
161+
'volume qos associate ' +
162+
name + ' ' + vol_type1
163+
)
164+
self.assertOutput('', raw_output)
165+
raw_output = self.openstack(
166+
'volume qos associate ' +
167+
name + ' ' + vol_type2
168+
)
169+
self.assertOutput('', raw_output)
170+
171+
cmd_output = json.loads(self.openstack(
172+
'volume qos show -f json ' +
173+
name
174+
))
175+
types = cmd_output["associations"]
176+
self.assertIn(vol_type1, types)
177+
self.assertIn(vol_type2, types)
178+
179+
# Test disassociate
180+
raw_output = self.openstack(
181+
'volume qos disassociate ' +
182+
'--volume-type ' + vol_type1 +
183+
' ' + name
184+
)
185+
self.assertOutput('', raw_output)
186+
cmd_output = json.loads(self.openstack(
187+
'volume qos show -f json ' +
188+
name
189+
))
190+
types = cmd_output["associations"]
191+
self.assertNotIn(vol_type1, types)
192+
self.assertIn(vol_type2, types)
193+
194+
# Test disassociate --all
195+
raw_output = self.openstack(
196+
'volume qos associate ' +
197+
name + ' ' + vol_type1
198+
)
199+
self.assertOutput('', raw_output)
200+
cmd_output = json.loads(self.openstack(
201+
'volume qos show -f json ' +
202+
name
203+
))
204+
types = cmd_output["associations"]
205+
self.assertIn(vol_type1, types)
206+
self.assertIn(vol_type2, types)
207+
208+
raw_output = self.openstack(
209+
'volume qos disassociate ' +
210+
'--all ' + name
211+
)
212+
self.assertOutput('', raw_output)
213+
cmd_output = json.loads(self.openstack(
214+
'volume qos show -f json ' +
215+
name
216+
))
217+
self.assertNotIn("associations", cmd_output.keys())

0 commit comments

Comments
 (0)