@@ -29,6 +29,47 @@ def setUp(self):
2929 self .network = self .app .client_manager .network
3030
3131
32+ class TestAddPortToRouter (TestRouter ):
33+ '''Add port to Router '''
34+
35+ _port = network_fakes .FakePort .create_one_port ()
36+ _router = network_fakes .FakeRouter .create_one_router (
37+ attrs = {'port' : _port .id })
38+
39+ def setUp (self ):
40+ super (TestAddPortToRouter , self ).setUp ()
41+ self .network .router_add_interface = mock .Mock ()
42+ self .cmd = router .AddPortToRouter (self .app , self .namespace )
43+ self .network .find_router = mock .Mock (return_value = self ._router )
44+ self .network .find_port = mock .Mock (return_value = self ._port )
45+
46+ def test_add_port_no_option (self ):
47+ arglist = []
48+ verifylist = []
49+
50+ # Missing required args should bail here
51+ self .assertRaises (tests_utils .ParserException , self .check_parser ,
52+ self .cmd , arglist , verifylist )
53+
54+ def test_add_port_required_options (self ):
55+ arglist = [
56+ self ._router .id ,
57+ self ._router .port ,
58+ ]
59+ verifylist = [
60+ ('router' , self ._router .id ),
61+ ('port' , self ._router .port ),
62+ ]
63+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
64+
65+ result = self .cmd .take_action (parsed_args )
66+
67+ self .network .router_add_interface .assert_called_with (self ._router , ** {
68+ 'port_id' : self ._router .port ,
69+ })
70+ self .assertIsNone (result )
71+
72+
3273class TestCreateRouter (TestRouter ):
3374
3475 # The new router created.
0 commit comments