@@ -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.
@@ -309,6 +349,45 @@ def test_remove_port_required_options(self):
309349 self .assertIsNone (result )
310350
311351
352+ class TestRemoveSubnetFromRouter (TestRouter ):
353+ '''Remove subnet from Router '''
354+
355+ _subnet = network_fakes .FakeSubnet .create_one_subnet ()
356+ _router = network_fakes .FakeRouter .create_one_router (
357+ attrs = {'subnet' : _subnet .id })
358+
359+ def setUp (self ):
360+ super (TestRemoveSubnetFromRouter , self ).setUp ()
361+ self .network .router_remove_interface = mock .Mock ()
362+ self .cmd = router .RemoveSubnetFromRouter (self .app , self .namespace )
363+ self .network .find_router = mock .Mock (return_value = self ._router )
364+ self .network .find_subnet = mock .Mock (return_value = self ._subnet )
365+
366+ def test_remove_subnet_no_option (self ):
367+ arglist = []
368+ verifylist = []
369+
370+ # Missing required args should bail here
371+ self .assertRaises (tests_utils .ParserException , self .check_parser ,
372+ self .cmd , arglist , verifylist )
373+
374+ def test_remove_subnet_required_options (self ):
375+ arglist = [
376+ self ._router .id ,
377+ self ._router .subnet ,
378+ ]
379+ verifylist = [
380+ ('subnet' , self ._router .subnet ),
381+ ('router' , self ._router .id ),
382+ ]
383+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
384+
385+ result = self .cmd .take_action (parsed_args )
386+ self .network .router_remove_interface .assert_called_with (
387+ self ._router , ** {'subnet_id' : self ._router .subnet })
388+ self .assertIsNone (result )
389+
390+
312391class TestSetRouter (TestRouter ):
313392
314393 # The router to set.
0 commit comments