@@ -32,6 +32,41 @@ def setUp(self):
3232 self .types_mock .reset_mock ()
3333
3434
35+ class TestQosAssociate (TestQos ):
36+ def setUp (self ):
37+ super (TestQosAssociate , self ).setUp ()
38+
39+ # Get the command object to test
40+ self .cmd = qos_specs .AssociateQos (self .app , None )
41+
42+ def test_qos_associate (self ):
43+ self .qos_mock .get .return_value = fakes .FakeResource (
44+ None ,
45+ copy .deepcopy (volume_fakes .QOS ),
46+ loaded = True
47+ )
48+ self .types_mock .get .return_value = fakes .FakeResource (
49+ None ,
50+ copy .deepcopy (volume_fakes .TYPE ),
51+ loaded = True
52+ )
53+ arglist = [
54+ volume_fakes .qos_id ,
55+ volume_fakes .type_id
56+ ]
57+ verifylist = [
58+ ('qos_specs' , volume_fakes .qos_id ),
59+ ('volume_type' , volume_fakes .type_id )
60+ ]
61+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
62+
63+ self .cmd .take_action (parsed_args )
64+ self .qos_mock .associate .assert_called_with (
65+ volume_fakes .qos_id ,
66+ volume_fakes .type_id
67+ )
68+
69+
3570class TestQosCreate (TestQos ):
3671 def setUp (self ):
3772 super (TestQosCreate , self ).setUp ()
@@ -196,153 +231,118 @@ def test_qos_delete_with_name(self):
196231 self .qos_mock .delete .assert_called_with (volume_fakes .qos_id )
197232
198233
199- class TestQosSet (TestQos ):
234+ class TestQosDisassociate (TestQos ):
200235 def setUp (self ):
201- super (TestQosSet , self ).setUp ()
236+ super (TestQosDisassociate , self ).setUp ()
202237
203238 # Get the command object to test
204- self .cmd = qos_specs .SetQos (self .app , None )
239+ self .cmd = qos_specs .DisassociateQos (self .app , None )
205240
206- def test_qos_set_with_properties_with_id (self ):
241+ def test_qos_disassociate_with_volume_type (self ):
207242 self .qos_mock .get .return_value = fakes .FakeResource (
208243 None ,
209- copy .deepcopy (volume_fakes .QOS_WITH_SPECS ),
244+ copy .deepcopy (volume_fakes .QOS ),
245+ loaded = True
246+ )
247+ self .types_mock .get .return_value = fakes .FakeResource (
248+ None ,
249+ copy .deepcopy (volume_fakes .TYPE ),
210250 loaded = True
211251 )
212252 arglist = [
213253 volume_fakes .qos_id ,
214- '--property' , 'foo=bar' ,
215- '--property' , 'iops=9001'
254+ '--volume-type' , volume_fakes .type_id
216255 ]
217256 verifylist = [
218257 ('qos_specs' , volume_fakes .qos_id ),
219- ('property ' , volume_fakes .qos_specs )
258+ ('volume_type ' , volume_fakes .type_id )
220259 ]
221260 parsed_args = self .check_parser (self .cmd , arglist , verifylist )
222261
223262 self .cmd .take_action (parsed_args )
224- self .qos_mock .set_keys .assert_called_with (
263+ self .qos_mock .disassociate .assert_called_with (
225264 volume_fakes .qos_id ,
226- volume_fakes .qos_specs
265+ volume_fakes .type_id
227266 )
228267
229-
230- class TestQosUnset (TestQos ):
231- def setUp (self ):
232- super (TestQosUnset , self ).setUp ()
233-
234- # Get the command object to test
235- self .cmd = qos_specs .UnsetQos (self .app , None )
236-
237- def test_qos_unset_with_properties (self ):
268+ def test_qos_disassociate_with_all_volume_types (self ):
238269 self .qos_mock .get .return_value = fakes .FakeResource (
239270 None ,
240271 copy .deepcopy (volume_fakes .QOS ),
241272 loaded = True
242273 )
274+
243275 arglist = [
244276 volume_fakes .qos_id ,
245- '--property' , 'iops' ,
246- '--property' , 'foo'
277+ '--all'
247278 ]
248-
249279 verifylist = [
250- ('qos_specs' , volume_fakes .qos_id ),
251- ('property' , ['iops' , 'foo' ])
280+ ('qos_specs' , volume_fakes .qos_id )
252281 ]
253282 parsed_args = self .check_parser (self .cmd , arglist , verifylist )
254283
255284 self .cmd .take_action (parsed_args )
256- self .qos_mock .unset_keys .assert_called_with (
257- volume_fakes .qos_id ,
258- ['iops' , 'foo' ]
259- )
285+ self .qos_mock .disassociate_all .assert_called_with (volume_fakes .qos_id )
260286
261287
262- class TestQosAssociate (TestQos ):
288+ class TestQosSet (TestQos ):
263289 def setUp (self ):
264- super (TestQosAssociate , self ).setUp ()
290+ super (TestQosSet , self ).setUp ()
265291
266292 # Get the command object to test
267- self .cmd = qos_specs .AssociateQos (self .app , None )
293+ self .cmd = qos_specs .SetQos (self .app , None )
268294
269- def test_qos_associate (self ):
295+ def test_qos_set_with_properties_with_id (self ):
270296 self .qos_mock .get .return_value = fakes .FakeResource (
271297 None ,
272- copy .deepcopy (volume_fakes .QOS ),
273- loaded = True
274- )
275- self .types_mock .get .return_value = fakes .FakeResource (
276- None ,
277- copy .deepcopy (volume_fakes .TYPE ),
298+ copy .deepcopy (volume_fakes .QOS_WITH_SPECS ),
278299 loaded = True
279300 )
280301 arglist = [
281302 volume_fakes .qos_id ,
282- volume_fakes .type_id
303+ '--property' , 'foo=bar' ,
304+ '--property' , 'iops=9001'
283305 ]
284306 verifylist = [
285307 ('qos_specs' , volume_fakes .qos_id ),
286- ('volume_type ' , volume_fakes .type_id )
308+ ('property ' , volume_fakes .qos_specs )
287309 ]
288310 parsed_args = self .check_parser (self .cmd , arglist , verifylist )
289311
290312 self .cmd .take_action (parsed_args )
291- self .qos_mock .associate .assert_called_with (
313+ self .qos_mock .set_keys .assert_called_with (
292314 volume_fakes .qos_id ,
293- volume_fakes .type_id
315+ volume_fakes .qos_specs
294316 )
295317
296318
297- class TestQosDisassociate (TestQos ):
319+ class TestQosUnset (TestQos ):
298320 def setUp (self ):
299- super (TestQosDisassociate , self ).setUp ()
321+ super (TestQosUnset , self ).setUp ()
300322
301323 # Get the command object to test
302- self .cmd = qos_specs .DisassociateQos (self .app , None )
324+ self .cmd = qos_specs .UnsetQos (self .app , None )
303325
304- def test_qos_disassociate_with_volume_type (self ):
326+ def test_qos_unset_with_properties (self ):
305327 self .qos_mock .get .return_value = fakes .FakeResource (
306328 None ,
307329 copy .deepcopy (volume_fakes .QOS ),
308330 loaded = True
309331 )
310- self .types_mock .get .return_value = fakes .FakeResource (
311- None ,
312- copy .deepcopy (volume_fakes .TYPE ),
313- loaded = True
314- )
315332 arglist = [
316333 volume_fakes .qos_id ,
317- '--volume-type' , volume_fakes .type_id
334+ '--property' , 'iops' ,
335+ '--property' , 'foo'
318336 ]
337+
319338 verifylist = [
320339 ('qos_specs' , volume_fakes .qos_id ),
321- ('volume_type ' , volume_fakes . type_id )
340+ ('property ' , [ 'iops' , 'foo' ] )
322341 ]
323342 parsed_args = self .check_parser (self .cmd , arglist , verifylist )
324343
325344 self .cmd .take_action (parsed_args )
326- self .qos_mock .disassociate .assert_called_with (
345+ self .qos_mock .unset_keys .assert_called_with (
327346 volume_fakes .qos_id ,
328- volume_fakes .type_id
329- )
330-
331- def test_qos_disassociate_with_all_volume_types (self ):
332- self .qos_mock .get .return_value = fakes .FakeResource (
333- None ,
334- copy .deepcopy (volume_fakes .QOS ),
335- loaded = True
347+ ['iops' , 'foo' ]
336348 )
337-
338- arglist = [
339- volume_fakes .qos_id ,
340- '--all'
341- ]
342- verifylist = [
343- ('qos_specs' , volume_fakes .qos_id )
344- ]
345- parsed_args = self .check_parser (self .cmd , arglist , verifylist )
346-
347- self .cmd .take_action (parsed_args )
348- self .qos_mock .disassociate_all .assert_called_with (volume_fakes .qos_id )
0 commit comments