@@ -86,6 +86,7 @@ def setUp(self):
8686
8787 self .network_client .find_router .return_value = self ._router
8888 self .network_client .find_subnet .return_value = self ._subnet
89+ self ._router .add_interface = mock .Mock ()
8990
9091 self .cmd = router .AddSubnetToRouter (self .app , None )
9192
@@ -119,6 +120,49 @@ def test_add_subnet_required_options(self):
119120
120121 self .assertIsNone (result )
121122
123+ def test_add_subnet_with_advertise_host (self ):
124+ arglist = [
125+ self ._router .id ,
126+ self ._router .subnet ,
127+ '--advertise-host' ,
128+ ]
129+ verifylist = [
130+ ('router' , self ._router .id ),
131+ ('subnet' , self ._router .subnet ),
132+ ('advertise_host' , True ),
133+ ]
134+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
135+
136+ result = self .cmd .take_action (parsed_args )
137+ self ._router .add_interface .assert_called_once_with (
138+ self .network_client ,
139+ subnet_id = self ._subnet .id ,
140+ advertise_host = True ,
141+ )
142+ self .network_client .add_interface_to_router .assert_not_called ()
143+
144+ self .assertIsNone (result )
145+
146+ def test_add_subnet_without_advertise_host (self ):
147+ arglist = [
148+ self ._router .id ,
149+ self ._router .subnet ,
150+ ]
151+ verifylist = [
152+ ('router' , self ._router .id ),
153+ ('subnet' , self ._router .subnet ),
154+ ('advertise_host' , False ),
155+ ]
156+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
157+
158+ result = self .cmd .take_action (parsed_args )
159+ self .network_client .add_interface_to_router .assert_called_once_with (
160+ self ._router , subnet = self ._subnet .id
161+ )
162+ self ._router .add_interface .assert_not_called ()
163+
164+ self .assertIsNone (result )
165+
122166
123167class TestCreateRouter (TestRouter ):
124168 # The new router created.
0 commit comments