@@ -28,6 +28,135 @@ def setUp(self):
2828 self .types_mock .reset_mock ()
2929
3030
31+ class TestTypeCreate (TestType ):
32+
33+ def setUp (self ):
34+ super (TestTypeCreate , self ).setUp ()
35+
36+ self .types_mock .create .return_value = fakes .FakeResource (
37+ None ,
38+ copy .deepcopy (volume_fakes .TYPE ),
39+ loaded = True ,
40+ )
41+ # Get the command object to test
42+ self .cmd = volume_type .CreateVolumeType (self .app , None )
43+
44+ def test_type_create_public (self ):
45+ arglist = [
46+ volume_fakes .type_name ,
47+ "--description" , volume_fakes .type_description ,
48+ "--public"
49+ ]
50+ verifylist = [
51+ ("name" , volume_fakes .type_name ),
52+ ("description" , volume_fakes .type_description ),
53+ ("public" , True ),
54+ ("private" , False ),
55+ ]
56+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
57+
58+ columns , data = self .cmd .take_action (parsed_args )
59+ self .types_mock .create .assert_called_with (
60+ volume_fakes .type_name ,
61+ description = volume_fakes .type_description ,
62+ public = True ,
63+ )
64+
65+ collist = (
66+ 'description' ,
67+ 'id' ,
68+ 'name' ,
69+ )
70+ self .assertEqual (collist , columns )
71+ datalist = (
72+ volume_fakes .type_description ,
73+ volume_fakes .type_id ,
74+ volume_fakes .type_name ,
75+ )
76+ self .assertEqual (datalist , data )
77+
78+ def test_type_create_private (self ):
79+ arglist = [
80+ volume_fakes .type_name ,
81+ "--description" , volume_fakes .type_description ,
82+ "--private"
83+ ]
84+ verifylist = [
85+ ("name" , volume_fakes .type_name ),
86+ ("description" , volume_fakes .type_description ),
87+ ("public" , False ),
88+ ("private" , True ),
89+ ]
90+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
91+
92+ columns , data = self .cmd .take_action (parsed_args )
93+ self .types_mock .create .assert_called_with (
94+ volume_fakes .type_name ,
95+ description = volume_fakes .type_description ,
96+ private = True ,
97+ )
98+
99+ collist = (
100+ 'description' ,
101+ 'id' ,
102+ 'name' ,
103+ )
104+ self .assertEqual (collist , columns )
105+ datalist = (
106+ volume_fakes .type_description ,
107+ volume_fakes .type_id ,
108+ volume_fakes .type_name ,
109+ )
110+ self .assertEqual (datalist , data )
111+
112+
113+ class TestTypeList (TestType ):
114+ def setUp (self ):
115+ super (TestTypeList , self ).setUp ()
116+
117+ self .types_mock .list .return_value = [
118+ fakes .FakeResource (
119+ None ,
120+ copy .deepcopy (volume_fakes .TYPE ),
121+ loaded = True
122+ )
123+ ]
124+ # get the command to test
125+ self .cmd = volume_type .ListVolumeType (self .app , None )
126+
127+ def test_type_list_without_options (self ):
128+ arglist = []
129+ verifylist = [
130+ ("long" , False )
131+ ]
132+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
133+
134+ columns , data = self .cmd .take_action (parsed_args )
135+ collist = ["ID" , "Name" ]
136+ self .assertEqual (collist , columns )
137+ datalist = ((
138+ volume_fakes .type_id ,
139+ volume_fakes .type_name ,
140+ ),)
141+ self .assertEqual (datalist , tuple (data ))
142+
143+ def test_type_list_with_options (self ):
144+ arglist = ["--long" ]
145+ verifylist = [("long" , True )]
146+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
147+
148+ columns , data = self .cmd .take_action (parsed_args )
149+ collist = ["ID" , "Name" , "Description" , "Properties" ]
150+ self .assertEqual (collist , columns )
151+ datalist = ((
152+ volume_fakes .type_id ,
153+ volume_fakes .type_name ,
154+ volume_fakes .type_description ,
155+ "foo='bar'"
156+ ),)
157+ self .assertEqual (datalist , tuple (data ))
158+
159+
31160class TestTypeShow (TestType ):
32161 def setUp (self ):
33162 super (TestTypeShow , self ).setUp ()
0 commit comments