@@ -527,6 +527,188 @@ def test_volume_create_image_name(self):
527527 self .assertEqual (datalist , data )
528528
529529
530+ class TestVolumeList (TestVolume ):
531+
532+ def setUp (self ):
533+ super (TestVolumeList , self ).setUp ()
534+
535+ self .volumes_mock .list .return_value = [
536+ fakes .FakeResource (
537+ None ,
538+ copy .deepcopy (volume_fakes .VOLUME ),
539+ loaded = True ,
540+ ),
541+ ]
542+
543+ # Get the command object to test
544+ self .cmd = volume .ListVolume (self .app , None )
545+
546+ def test_volume_list_no_options (self ):
547+ arglist = []
548+ verifylist = [
549+ ('long' , False ),
550+ ('all_projects' , False ),
551+ ('name' , None ),
552+ ('status' , None ),
553+ ]
554+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
555+
556+ columns , data = self .cmd .take_action (parsed_args )
557+
558+ collist = (
559+ 'ID' ,
560+ 'Display Name' ,
561+ 'Status' ,
562+ 'Size' ,
563+ 'Attached to' ,
564+ )
565+ self .assertEqual (collist , columns )
566+
567+ datalist = ((
568+ volume_fakes .volume_id ,
569+ volume_fakes .volume_name ,
570+ volume_fakes .volume_status ,
571+ volume_fakes .volume_size ,
572+ '' ,
573+ ), )
574+ self .assertEqual (datalist , tuple (data ))
575+
576+ def test_volume_list_name (self ):
577+ arglist = [
578+ '--name' , volume_fakes .volume_name ,
579+ ]
580+ verifylist = [
581+ ('long' , False ),
582+ ('all_projects' , False ),
583+ ('name' , volume_fakes .volume_name ),
584+ ('status' , None ),
585+ ]
586+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
587+
588+ columns , data = self .cmd .take_action (parsed_args )
589+
590+ collist = (
591+ 'ID' ,
592+ 'Display Name' ,
593+ 'Status' ,
594+ 'Size' ,
595+ 'Attached to' ,
596+ )
597+ self .assertEqual (collist , tuple (columns ))
598+
599+ datalist = ((
600+ volume_fakes .volume_id ,
601+ volume_fakes .volume_name ,
602+ volume_fakes .volume_status ,
603+ volume_fakes .volume_size ,
604+ '' ,
605+ ), )
606+ self .assertEqual (datalist , tuple (data ))
607+
608+ def test_volume_list_status (self ):
609+ arglist = [
610+ '--status' , volume_fakes .volume_status ,
611+ ]
612+ verifylist = [
613+ ('long' , False ),
614+ ('all_projects' , False ),
615+ ('name' , None ),
616+ ('status' , volume_fakes .volume_status ),
617+ ]
618+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
619+
620+ columns , data = self .cmd .take_action (parsed_args )
621+
622+ collist = (
623+ 'ID' ,
624+ 'Display Name' ,
625+ 'Status' ,
626+ 'Size' ,
627+ 'Attached to' ,
628+ )
629+ self .assertEqual (collist , tuple (columns ))
630+
631+ datalist = ((
632+ volume_fakes .volume_id ,
633+ volume_fakes .volume_name ,
634+ volume_fakes .volume_status ,
635+ volume_fakes .volume_size ,
636+ '' ,
637+ ), )
638+ self .assertEqual (datalist , tuple (data ))
639+
640+ def test_volume_list_all_projects (self ):
641+ arglist = [
642+ '--all-projects' ,
643+ ]
644+ verifylist = [
645+ ('long' , False ),
646+ ('all_projects' , True ),
647+ ('name' , None ),
648+ ('status' , None ),
649+ ]
650+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
651+
652+ columns , data = self .cmd .take_action (parsed_args )
653+
654+ collist = (
655+ 'ID' ,
656+ 'Display Name' ,
657+ 'Status' ,
658+ 'Size' ,
659+ 'Attached to' ,
660+ )
661+ self .assertEqual (collist , columns )
662+
663+ datalist = ((
664+ volume_fakes .volume_id ,
665+ volume_fakes .volume_name ,
666+ volume_fakes .volume_status ,
667+ volume_fakes .volume_size ,
668+ '' ,
669+ ), )
670+ self .assertEqual (datalist , tuple (data ))
671+
672+ def test_volume_list_long (self ):
673+ arglist = [
674+ '--long' ,
675+ ]
676+ verifylist = [
677+ ('long' , True ),
678+ ('all_projects' , False ),
679+ ('name' , None ),
680+ ('status' , None ),
681+ ]
682+
683+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
684+
685+ columns , data = self .cmd .take_action (parsed_args )
686+
687+ collist = (
688+ 'ID' ,
689+ 'Display Name' ,
690+ 'Status' ,
691+ 'Size' ,
692+ 'Type' ,
693+ 'Bootable' ,
694+ 'Attached to' ,
695+ 'Properties' ,
696+ )
697+ self .assertEqual (collist , columns )
698+
699+ datalist = ((
700+ volume_fakes .volume_id ,
701+ volume_fakes .volume_name ,
702+ volume_fakes .volume_status ,
703+ volume_fakes .volume_size ,
704+ volume_fakes .volume_type ,
705+ '' ,
706+ '' ,
707+ "Alpha='a', Beta='b', Gamma='g'" ,
708+ ), )
709+ self .assertEqual (datalist , tuple (data ))
710+
711+
530712class TestVolumeSet (TestVolume ):
531713
532714 def setUp (self ):
0 commit comments