1313import uuid
1414
1515from openstack .block_storage .v3 import availability_zone as _volume_az
16+ from openstack .shared_file_system .v2 import availability_zone as _share_az
17+ from openstack .test import fakes
1618
1719from openstackclient .common import availability_zone
1820from openstackclient .tests .unit .compute .v2 import fakes as compute_fakes
1921from openstackclient .tests .unit .network .v2 import fakes as network_fakes
22+ from openstackclient .tests .unit .share .v2 import fakes as share_fakes
2023from openstackclient .tests .unit import utils
2124from openstackclient .tests .unit .volume .v3 import fakes as volume_fakes
2225
@@ -30,10 +33,7 @@ def _create_fake_volume_az():
3033def _build_compute_az_datalist (compute_az , long_datalist = False ):
3134 datalist = ()
3235 if not long_datalist :
33- datalist = (
34- compute_az .name ,
35- 'available' ,
36- )
36+ datalist = (compute_az .name , 'available' )
3737 else :
3838 for host , services in compute_az .hosts .items ():
3939 for service , state in services .items ():
@@ -64,6 +64,15 @@ def _build_network_az_datalist(network_az, long_datalist=False):
6464 return (datalist ,)
6565
6666
67+ def _build_share_az_datalist (share_az , long_datalist = False ):
68+ datalist = ()
69+ if not long_datalist :
70+ datalist = (share_az .name , 'available' )
71+ else :
72+ datalist = (share_az .name , 'available' , '' , '' , '' , '' )
73+ return (datalist ,)
74+
75+
6776def _build_volume_az_datalist (volume_az , long_datalist = False ):
6877 datalist = ()
6978 if not long_datalist :
@@ -77,6 +86,7 @@ class TestAvailabilityZoneList(
7786 network_fakes .FakeClientMixin ,
7887 volume_fakes .FakeClientMixin ,
7988 compute_fakes .FakeClientMixin ,
89+ share_fakes .FakeClientMixin ,
8090 utils .TestCommand ,
8191):
8292 short_columnslist = ('Zone Name' , 'Zone Status' )
@@ -94,8 +104,15 @@ def setUp(self):
94104
95105 self .compute_azs = compute_fakes .create_availability_zones ()
96106 self .compute_client .availability_zones .return_value = self .compute_azs
107+
97108 self .network_azs = network_fakes .create_availability_zones ()
98109 self .network_client .availability_zones .return_value = self .network_azs
110+
111+ self .share_azs = list (
112+ fakes .generate_fake_resources (_share_az .AvailabilityZone )
113+ )
114+ self .share_sdk_client .availability_zones .return_value = self .share_azs
115+
99116 self .volume_azs = [_create_fake_volume_az ()]
100117 self .volume_client .availability_zones .return_value = self .volume_azs
101118
@@ -114,6 +131,7 @@ def test_availability_zone_list_no_options(self):
114131
115132 self .compute_client .availability_zones .assert_called_with (details = True )
116133 self .network_client .availability_zones .assert_called_with ()
134+ self .share_sdk_client .availability_zones .assert_called_with ()
117135 self .volume_client .availability_zones .assert_called_with ()
118136
119137 self .assertEqual (self .short_columnslist , columns )
@@ -122,6 +140,8 @@ def test_availability_zone_list_no_options(self):
122140 datalist += _build_compute_az_datalist (compute_az )
123141 for network_az in self .network_azs :
124142 datalist += _build_network_az_datalist (network_az )
143+ for share_az in self .share_azs :
144+ datalist += _build_share_az_datalist (share_az )
125145 for volume_az in self .volume_azs :
126146 datalist += _build_volume_az_datalist (volume_az )
127147 self .assertEqual (datalist , tuple (data ))
@@ -135,13 +155,11 @@ def test_availability_zone_list_long(self):
135155 ]
136156 parsed_args = self .check_parser (self .cmd , arglist , verifylist )
137157
138- # In base command class Lister in cliff, abstract method take_action()
139- # returns a tuple containing the column names and an iterable
140- # containing the data to be listed.
141158 columns , data = self .cmd .take_action (parsed_args )
142159
143160 self .compute_client .availability_zones .assert_called_with (details = True )
144161 self .network_client .availability_zones .assert_called_with ()
162+ self .share_sdk_client .availability_zones .assert_called_with ()
145163 self .volume_client .availability_zones .assert_called_with ()
146164
147165 self .assertEqual (self .long_columnslist , columns )
@@ -154,6 +172,8 @@ def test_availability_zone_list_long(self):
154172 datalist += _build_network_az_datalist (
155173 network_az , long_datalist = True
156174 )
175+ for share_az in self .share_azs :
176+ datalist += _build_share_az_datalist (share_az , long_datalist = True )
157177 for volume_az in self .volume_azs :
158178 datalist += _build_volume_az_datalist (
159179 volume_az , long_datalist = True
@@ -169,13 +189,11 @@ def test_availability_zone_list_compute(self):
169189 ]
170190 parsed_args = self .check_parser (self .cmd , arglist , verifylist )
171191
172- # In base command class Lister in cliff, abstract method take_action()
173- # returns a tuple containing the column names and an iterable
174- # containing the data to be listed.
175192 columns , data = self .cmd .take_action (parsed_args )
176193
177194 self .compute_client .availability_zones .assert_called_with (details = True )
178195 self .network_client .availability_zones .assert_not_called ()
196+ self .share_sdk_client .availability_zones .assert_not_called ()
179197 self .volume_client .availability_zones .assert_not_called ()
180198
181199 self .assertEqual (self .short_columnslist , columns )
@@ -193,13 +211,11 @@ def test_availability_zone_list_network(self):
193211 ]
194212 parsed_args = self .check_parser (self .cmd , arglist , verifylist )
195213
196- # In base command class Lister in cliff, abstract method take_action()
197- # returns a tuple containing the column names and an iterable
198- # containing the data to be listed.
199214 columns , data = self .cmd .take_action (parsed_args )
200215
201216 self .compute_client .availability_zones .assert_not_called ()
202217 self .network_client .availability_zones .assert_called_with ()
218+ self .share_sdk_client .availability_zones .assert_not_called ()
203219 self .volume_client .availability_zones .assert_not_called ()
204220
205221 self .assertEqual (self .short_columnslist , columns )
@@ -208,6 +224,28 @@ def test_availability_zone_list_network(self):
208224 datalist += _build_network_az_datalist (network_az )
209225 self .assertEqual (datalist , tuple (data ))
210226
227+ def test_availability_zone_list_share (self ):
228+ arglist = [
229+ '--share' ,
230+ ]
231+ verifylist = [
232+ ('share' , True ),
233+ ]
234+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
235+
236+ columns , data = self .cmd .take_action (parsed_args )
237+
238+ self .compute_client .availability_zones .assert_not_called ()
239+ self .network_client .availability_zones .assert_not_called ()
240+ self .share_sdk_client .availability_zones .assert_called_with ()
241+ self .volume_client .availability_zones .assert_not_called ()
242+
243+ self .assertEqual (self .short_columnslist , columns )
244+ datalist = ()
245+ for share_az in self .share_azs :
246+ datalist += _build_share_az_datalist (share_az )
247+ self .assertEqual (datalist , tuple (data ))
248+
211249 def test_availability_zone_list_volume (self ):
212250 arglist = [
213251 '--volume' ,
@@ -217,13 +255,11 @@ def test_availability_zone_list_volume(self):
217255 ]
218256 parsed_args = self .check_parser (self .cmd , arglist , verifylist )
219257
220- # In base command class Lister in cliff, abstract method take_action()
221- # returns a tuple containing the column names and an iterable
222- # containing the data to be listed.
223258 columns , data = self .cmd .take_action (parsed_args )
224259
225260 self .compute_client .availability_zones .assert_not_called ()
226261 self .network_client .availability_zones .assert_not_called ()
262+ self .share_sdk_client .availability_zones .assert_not_called ()
227263 self .volume_client .availability_zones .assert_called_with ()
228264
229265 self .assertEqual (self .short_columnslist , columns )
0 commit comments