@@ -495,6 +495,220 @@ def test_volume_create_image_name(self):
495495 self .assertEqual (datalist , data )
496496
497497
498+ class TestVolumeList (TestVolume ):
499+
500+ def setUp (self ):
501+ super (TestVolumeList , self ).setUp ()
502+
503+ self .volumes_mock .list .return_value = [
504+ fakes .FakeResource (
505+ None ,
506+ copy .deepcopy (volume_fakes .VOLUME ),
507+ loaded = True ,
508+ ),
509+ ]
510+
511+ self .users_mock .get .return_value = [
512+ fakes .FakeResource (
513+ None ,
514+ copy .deepcopy (identity_fakes .USER ),
515+ loaded = True ,
516+ ),
517+ ]
518+
519+ self .projects_mock .get .return_value = [
520+ fakes .FakeResource (
521+ None ,
522+ copy .deepcopy (identity_fakes .PROJECT ),
523+ loaded = True ,
524+ ),
525+ ]
526+
527+ # Get the command object to test
528+ self .cmd = volume .ListVolume (self .app , None )
529+
530+ def test_volume_list_no_options (self ):
531+ arglist = []
532+ verifylist = [
533+ ('long' , False ),
534+ ('all_projects' , False ),
535+ ('name' , None ),
536+ ('status' , None ),
537+ ]
538+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
539+
540+ columns , data = self .cmd .take_action (parsed_args )
541+
542+ collist = [
543+ 'ID' ,
544+ 'Display Name' ,
545+ 'Status' ,
546+ 'Size' ,
547+ 'Attached to' ,
548+ ]
549+ self .assertEqual (collist , columns )
550+
551+ server = volume_fakes .volume_attachment_server ['id' ]
552+ device = volume_fakes .volume_attachment_server ['device' ]
553+ msg = 'Attached to %s on %s ' % (server , device )
554+ datalist = ((
555+ volume_fakes .volume_id ,
556+ volume_fakes .volume_name ,
557+ volume_fakes .volume_status ,
558+ volume_fakes .volume_size ,
559+ msg ,
560+ ), )
561+ self .assertEqual (datalist , tuple (data ))
562+
563+ def test_volume_list_all_projects_option (self ):
564+ arglist = [
565+ '--all-projects' ,
566+ ]
567+ verifylist = [
568+ ('long' , False ),
569+ ('all_projects' , True ),
570+ ('name' , None ),
571+ ('status' , None ),
572+ ]
573+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
574+
575+ columns , data = self .cmd .take_action (parsed_args )
576+
577+ collist = [
578+ 'ID' ,
579+ 'Display Name' ,
580+ 'Status' ,
581+ 'Size' ,
582+ 'Attached to' ,
583+ ]
584+ self .assertEqual (collist , columns )
585+
586+ server = volume_fakes .volume_attachment_server ['id' ]
587+ device = volume_fakes .volume_attachment_server ['device' ]
588+ msg = 'Attached to %s on %s ' % (server , device )
589+ datalist = ((
590+ volume_fakes .volume_id ,
591+ volume_fakes .volume_name ,
592+ volume_fakes .volume_status ,
593+ volume_fakes .volume_size ,
594+ msg ,
595+ ), )
596+ self .assertEqual (datalist , tuple (data ))
597+
598+ def test_volume_list_name (self ):
599+ arglist = [
600+ '--name' , volume_fakes .volume_name ,
601+ ]
602+ verifylist = [
603+ ('long' , False ),
604+ ('all_projects' , False ),
605+ ('name' , volume_fakes .volume_name ),
606+ ('status' , None ),
607+ ]
608+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
609+
610+ columns , data = self .cmd .take_action (parsed_args )
611+
612+ collist = (
613+ 'ID' ,
614+ 'Display Name' ,
615+ 'Status' ,
616+ 'Size' ,
617+ 'Attached to' ,
618+ )
619+ self .assertEqual (collist , tuple (columns ))
620+
621+ server = volume_fakes .volume_attachment_server ['id' ]
622+ device = volume_fakes .volume_attachment_server ['device' ]
623+ msg = 'Attached to %s on %s ' % (server , device )
624+
625+ datalist = ((
626+ volume_fakes .volume_id ,
627+ volume_fakes .volume_name ,
628+ volume_fakes .volume_status ,
629+ volume_fakes .volume_size ,
630+ msg ,
631+ ), )
632+ self .assertEqual (datalist , tuple (data ))
633+
634+ def test_volume_list_status (self ):
635+ arglist = [
636+ '--status' , volume_fakes .volume_status ,
637+ ]
638+ verifylist = [
639+ ('long' , False ),
640+ ('all_projects' , False ),
641+ ('name' , None ),
642+ ('status' , volume_fakes .volume_status ),
643+ ]
644+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
645+
646+ columns , data = self .cmd .take_action (parsed_args )
647+
648+ collist = (
649+ 'ID' ,
650+ 'Display Name' ,
651+ 'Status' ,
652+ 'Size' ,
653+ 'Attached to' ,
654+ )
655+ self .assertEqual (collist , tuple (columns ))
656+
657+ server = volume_fakes .volume_attachment_server ['id' ]
658+ device = volume_fakes .volume_attachment_server ['device' ]
659+ msg = 'Attached to %s on %s ' % (server , device )
660+ datalist = ((
661+ volume_fakes .volume_id ,
662+ volume_fakes .volume_name ,
663+ volume_fakes .volume_status ,
664+ volume_fakes .volume_size ,
665+ msg ,
666+ ), )
667+ self .assertEqual (datalist , tuple (data ))
668+
669+ def test_volume_list_long (self ):
670+ arglist = [
671+ '--long' ,
672+ ]
673+ verifylist = [
674+ ('long' , True ),
675+ ('all_projects' , False ),
676+ ('name' , None ),
677+ ('status' , None ),
678+ ]
679+
680+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
681+
682+ columns , data = self .cmd .take_action (parsed_args )
683+
684+ collist = [
685+ 'ID' ,
686+ 'Display Name' ,
687+ 'Status' ,
688+ 'Size' ,
689+ 'Type' ,
690+ 'Bootable' ,
691+ 'Attached to' ,
692+ 'Properties' ,
693+ ]
694+ self .assertEqual (collist , columns )
695+
696+ server = volume_fakes .volume_attachment_server ['id' ]
697+ device = volume_fakes .volume_attachment_server ['device' ]
698+ msg = 'Attached to %s on %s ' % (server , device )
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+ msg ,
707+ "Alpha='a', Beta='b', Gamma='g'" ,
708+ ), )
709+ self .assertEqual (datalist , tuple (data ))
710+
711+
498712class TestVolumeShow (TestVolume ):
499713 def setUp (self ):
500714 super (TestVolumeShow , self ).setUp ()
0 commit comments