@@ -275,6 +275,7 @@ def setUp(self):
275275 super (TestSnapshotList , self ).setUp ()
276276
277277 self .volumes_mock .list .return_value = [self .volume ]
278+ self .volumes_mock .get .return_value = self .volume
278279 self .snapshots_mock .list .return_value = self .snapshots
279280 # Get the command to test
280281 self .cmd = volume_snapshot .ListVolumeSnapshot (self .app , None )
@@ -283,14 +284,21 @@ def test_snapshot_list_without_options(self):
283284 arglist = []
284285 verifylist = [
285286 ('all_projects' , False ),
286- (" long" , False )
287+ (' long' , False )
287288 ]
288289 parsed_args = self .check_parser (self .cmd , arglist , verifylist )
289290
290291 columns , data = self .cmd .take_action (parsed_args )
291292
292293 self .snapshots_mock .list .assert_called_once_with (
293- limit = None , marker = None , search_opts = {'all_tenants' : False })
294+ limit = None , marker = None ,
295+ search_opts = {
296+ 'all_tenants' : False ,
297+ 'name' : None ,
298+ 'status' : None ,
299+ 'volume_id' : None
300+ }
301+ )
294302 self .assertEqual (self .columns , columns )
295303 self .assertEqual (self .data , list (data ))
296304
@@ -313,7 +321,12 @@ def test_snapshot_list_with_options(self):
313321 self .snapshots_mock .list .assert_called_once_with (
314322 limit = 2 ,
315323 marker = self .snapshots [0 ].id ,
316- search_opts = {'all_tenants' : False }
324+ search_opts = {
325+ 'all_tenants' : False ,
326+ 'name' : None ,
327+ 'status' : None ,
328+ 'volume_id' : None
329+ }
317330 )
318331 self .assertEqual (self .columns_long , columns )
319332 self .assertEqual (self .data_long , list (data ))
@@ -331,7 +344,89 @@ def test_snapshot_list_all_projects(self):
331344 columns , data = self .cmd .take_action (parsed_args )
332345
333346 self .snapshots_mock .list .assert_called_once_with (
334- limit = None , marker = None , search_opts = {'all_tenants' : True })
347+ limit = None , marker = None ,
348+ search_opts = {
349+ 'all_tenants' : True ,
350+ 'name' : None ,
351+ 'status' : None ,
352+ 'volume_id' : None
353+ }
354+ )
355+ self .assertEqual (self .columns , columns )
356+ self .assertEqual (self .data , list (data ))
357+
358+ def test_snapshot_list_name_option (self ):
359+ arglist = [
360+ '--name' , self .snapshots [0 ].name ,
361+ ]
362+ verifylist = [
363+ ('all_projects' , False ),
364+ ('long' , False ),
365+ ('name' , self .snapshots [0 ].name ),
366+ ]
367+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
368+
369+ columns , data = self .cmd .take_action (parsed_args )
370+
371+ self .snapshots_mock .list .assert_called_once_with (
372+ limit = None , marker = None ,
373+ search_opts = {
374+ 'all_tenants' : False ,
375+ 'name' : self .snapshots [0 ].name ,
376+ 'status' : None ,
377+ 'volume_id' : None
378+ }
379+ )
380+ self .assertEqual (self .columns , columns )
381+ self .assertEqual (self .data , list (data ))
382+
383+ def test_snapshot_list_status_option (self ):
384+ arglist = [
385+ '--status' , self .snapshots [0 ].status ,
386+ ]
387+ verifylist = [
388+ ('all_projects' , False ),
389+ ('long' , False ),
390+ ('status' , self .snapshots [0 ].status ),
391+ ]
392+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
393+
394+ columns , data = self .cmd .take_action (parsed_args )
395+
396+ self .snapshots_mock .list .assert_called_once_with (
397+ limit = None , marker = None ,
398+ search_opts = {
399+ 'all_tenants' : False ,
400+ 'name' : None ,
401+ 'status' : self .snapshots [0 ].status ,
402+ 'volume_id' : None
403+ }
404+ )
405+ self .assertEqual (self .columns , columns )
406+ self .assertEqual (self .data , list (data ))
407+
408+ def test_snapshot_list_volumeid_option (self ):
409+ arglist = [
410+ '--volume' , self .volume .id ,
411+ ]
412+ verifylist = [
413+ ('all_projects' , False ),
414+ ('long' , False ),
415+ ('volume' , self .volume .id ),
416+ ]
417+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
418+
419+ columns , data = self .cmd .take_action (parsed_args )
420+
421+ self .snapshots_mock .list .assert_called_once_with (
422+ limit = None , marker = None ,
423+ search_opts = {
424+ 'all_tenants' : False ,
425+ 'name' : None ,
426+ 'status' : None ,
427+ 'volume_id' : self .volume .id
428+ }
429+ )
335430 self .assertEqual (self .columns , columns )
336431 self .assertEqual (self .data , list (data ))
337432
0 commit comments