@@ -285,6 +285,7 @@ class TestListRouter(TestRouter):
285285
286286 # The routers going to be listed up.
287287 routers = network_fakes .FakeRouter .create_routers (count = 3 )
288+ _extensions = network_fakes .FakeExtension .create_one_extension ()
288289
289290 columns = (
290291 'ID' ,
@@ -300,6 +301,10 @@ class TestListRouter(TestRouter):
300301 'External gateway info' ,
301302 'Availability zones'
302303 )
304+ columns_long_no_az = columns + (
305+ 'Routes' ,
306+ 'External gateway info' ,
307+ )
303308
304309 data = []
305310 for r in routers :
@@ -322,6 +327,15 @@ class TestListRouter(TestRouter):
322327 osc_utils .format_list (r .availability_zones ),
323328 )
324329 )
330+ data_long_no_az = []
331+ for i in range (0 , len (routers )):
332+ r = routers [i ]
333+ data_long_no_az .append (
334+ data [i ] + (
335+ router ._format_routes (r .routes ),
336+ router ._format_external_gateway_info (r .external_gateway_info ),
337+ )
338+ )
325339
326340 def setUp (self ):
327341 super (TestListRouter , self ).setUp ()
@@ -330,6 +344,7 @@ def setUp(self):
330344 self .cmd = router .ListRouter (self .app , self .namespace )
331345
332346 self .network .routers = mock .Mock (return_value = self .routers )
347+ self .network .find_extension = mock .Mock (return_value = self ._extensions )
333348
334349 def test_router_list_no_options (self ):
335350 arglist = []
@@ -365,6 +380,27 @@ def test_router_list_long(self):
365380 self .assertEqual (self .columns_long , columns )
366381 self .assertEqual (self .data_long , list (data ))
367382
383+ def test_router_list_long_no_az (self ):
384+ arglist = [
385+ '--long' ,
386+ ]
387+ verifylist = [
388+ ('long' , True ),
389+ ]
390+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
391+
392+ # to mock, that no availability zone
393+ self .network .find_extension = mock .Mock (return_value = None )
394+
395+ # In base command class Lister in cliff, abstract method take_action()
396+ # returns a tuple containing the column names and an iterable
397+ # containing the data to be listed.
398+ columns , data = self .cmd .take_action (parsed_args )
399+
400+ self .network .routers .assert_called_once_with ()
401+ self .assertEqual (self .columns_long_no_az , columns )
402+ self .assertEqual (self .data_long_no_az , list (data ))
403+
368404
369405class TestRemovePortFromRouter (TestRouter ):
370406 '''Remove port from a Router '''
0 commit comments