@@ -284,3 +284,61 @@ def test_set_nothing(self):
284284 parsed_args = self .check_parser (self .cmd , arglist , verifylist )
285285 self .assertRaises (exceptions .CommandError , self .cmd .take_action ,
286286 parsed_args )
287+
288+
289+ class TestShowRouter (TestRouter ):
290+
291+ # The router to set.
292+ _router = network_fakes .FakeRouter .create_one_router ()
293+
294+ columns = (
295+ 'admin_state_up' ,
296+ 'distributed' ,
297+ 'ha' ,
298+ 'id' ,
299+ 'name' ,
300+ 'tenant_id' ,
301+ )
302+
303+ data = (
304+ router ._format_admin_state (_router .admin_state_up ),
305+ _router .distributed ,
306+ _router .ha ,
307+ _router .id ,
308+ _router .name ,
309+ _router .tenant_id ,
310+ )
311+
312+ def setUp (self ):
313+ super (TestShowRouter , self ).setUp ()
314+
315+ self .network .find_router = mock .Mock (return_value = self ._router )
316+
317+ # Get the command object to test
318+ self .cmd = router .ShowRouter (self .app , self .namespace )
319+
320+ def test_show_no_options (self ):
321+ arglist = []
322+ verifylist = []
323+
324+ try :
325+ # Missing required args should bail here
326+ self .check_parser (self .cmd , arglist , verifylist )
327+ except tests_utils .ParserException :
328+ pass
329+
330+ def test_show_all_options (self ):
331+ arglist = [
332+ self ._router .name ,
333+ ]
334+ verifylist = [
335+ ('router' , self ._router .name ),
336+ ]
337+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
338+
339+ columns , data = self .cmd .take_action (parsed_args )
340+
341+ self .network .find_router .assert_called_with (self ._router .name ,
342+ ignore_missing = False )
343+ self .assertEqual (tuple (self .columns ), columns )
344+ self .assertEqual (self .data , data )
0 commit comments