@@ -70,6 +70,46 @@ def test_add_port_required_options(self):
7070 self .assertIsNone (result )
7171
7272
73+ class TestAddSubnetToRouter (TestRouter ):
74+ '''Add subnet to Router '''
75+
76+ _subnet = network_fakes .FakeSubnet .create_one_subnet ()
77+ _router = network_fakes .FakeRouter .create_one_router (
78+ attrs = {'subnet' : _subnet .id })
79+
80+ def setUp (self ):
81+ super (TestAddSubnetToRouter , self ).setUp ()
82+ self .network .router_add_interface = mock .Mock ()
83+ self .cmd = router .AddSubnetToRouter (self .app , self .namespace )
84+ self .network .find_router = mock .Mock (return_value = self ._router )
85+ self .network .find_subnet = mock .Mock (return_value = self ._subnet )
86+
87+ def test_add_subnet_no_option (self ):
88+ arglist = []
89+ verifylist = []
90+
91+ # Missing required args should bail here
92+ self .assertRaises (tests_utils .ParserException , self .check_parser ,
93+ self .cmd , arglist , verifylist )
94+
95+ def test_add_subnet_required_options (self ):
96+ arglist = [
97+ self ._router .id ,
98+ self ._router .subnet ,
99+ ]
100+ verifylist = [
101+ ('router' , self ._router .id ),
102+ ('subnet' , self ._router .subnet ),
103+ ]
104+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
105+
106+ result = self .cmd .take_action (parsed_args )
107+ self .network .router_add_interface .assert_called_with (
108+ self ._router , ** {'subnet_id' : self ._router .subnet })
109+
110+ self .assertIsNone (result )
111+
112+
73113class TestCreateRouter (TestRouter ):
74114
75115 # The new router created.
@@ -307,6 +347,45 @@ def test_remove_port_required_options(self):
307347 self .assertIsNone (result )
308348
309349
350+ class TestRemoveSubnetFromRouter (TestRouter ):
351+ '''Remove subnet from Router '''
352+
353+ _subnet = network_fakes .FakeSubnet .create_one_subnet ()
354+ _router = network_fakes .FakeRouter .create_one_router (
355+ attrs = {'subnet' : _subnet .id })
356+
357+ def setUp (self ):
358+ super (TestRemoveSubnetFromRouter , self ).setUp ()
359+ self .network .router_remove_interface = mock .Mock ()
360+ self .cmd = router .RemoveSubnetFromRouter (self .app , self .namespace )
361+ self .network .find_router = mock .Mock (return_value = self ._router )
362+ self .network .find_subnet = mock .Mock (return_value = self ._subnet )
363+
364+ def test_remove_subnet_no_option (self ):
365+ arglist = []
366+ verifylist = []
367+
368+ # Missing required args should bail here
369+ self .assertRaises (tests_utils .ParserException , self .check_parser ,
370+ self .cmd , arglist , verifylist )
371+
372+ def test_remove_subnet_required_options (self ):
373+ arglist = [
374+ self ._router .id ,
375+ self ._router .subnet ,
376+ ]
377+ verifylist = [
378+ ('subnet' , self ._router .subnet ),
379+ ('router' , self ._router .id ),
380+ ]
381+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
382+
383+ result = self .cmd .take_action (parsed_args )
384+ self .network .router_remove_interface .assert_called_with (
385+ self ._router , ** {'subnet_id' : self ._router .subnet })
386+ self .assertIsNone (result )
387+
388+
310389class TestSetRouter (TestRouter ):
311390
312391 # The router to set.
0 commit comments