2121
2222class TestShowRouterIntegration (common .TestIntegrationBase ):
2323 HOSTESS = common .TestIntegrationBase .HOST + common .TestIntegrationBase .VER
24+ SUBNET_URL = HOSTESS + "/subnets.json"
25+ SUBNET_ONE = '{ "subnets": [{ "id": "45456777" }] }'
2426 CREATE_URL = HOSTESS + "/routers.json"
2527 CREATE = """
2628{
2729 "router":
2830 {
2931 "status": "ACTIVE",
30- "name": "gator ",
32+ "name": "rooty ",
3133 "tenant_id": "33a40233",
3234 "id": "a9254bdb"
3335 }
@@ -41,7 +43,7 @@ class TestShowRouterIntegration(common.TestIntegrationBase):
4143 "routers": [
4244 {
4345 "status": "ACTIVE",
44- "name": "gator ",
46+ "name": "rooty ",
4547 "tenant_id": "33a40233",
4648 "id": "a9254bdb"
4749 },
@@ -60,7 +62,7 @@ class TestShowRouterIntegration(common.TestIntegrationBase):
6062 {
6163 "status": "ACTIVE",
6264 "external_gateway_info": {},
63- "name": "gator ",
65+ "name": "rooty ",
6466 "admin_state_up": true,
6567 "tenant_id": "3671f46ec35e4bbca6ef92ab7975e463",
6668 "routes": [],
@@ -70,11 +72,19 @@ class TestShowRouterIntegration(common.TestIntegrationBase):
7072}"""
7173 SHOW_URL = HOSTESS + "/routers/a9254bdb.json"
7274 SHOW = CREATE
75+ ADD_URL = HOSTESS + "/routers/a9254bdb/add_router_interface.json"
76+ ADD = """
77+ {
78+ "subnet_id": "45456777",
79+ "port_id": "93939392"
80+ }"""
81+ REMOVE_URL = HOSTESS + "/routers/a9254bdb/remove_router_interface.json"
82+ REMOVE = "{}"
7383
7484 @httpretty .activate
7585 def test_create (self ):
7686 pargs = common .FakeParsedArgs ()
77- pargs .name = 'gator '
87+ pargs .name = 'rooty '
7888 pargs .admin_state = 'ACTIVE'
7989 pargs .tenant_id = '33a40233'
8090 httpretty .register_uri (httpretty .POST , self .CREATE_URL ,
@@ -84,22 +94,22 @@ def test_create(self):
8494 self .assertEqual (u"""\
8595 Created a new router:
8696id="a9254bdb"
87- name="gator "
97+ name="rooty "
8898status="ACTIVE"
8999tenant_id="33a40233"
90100""" , self .stdout ())
91101
92102 @httpretty .activate
93103 def test_delete (self ):
94104 pargs = common .FakeParsedArgs ()
95- pargs .id = 'gator '
105+ pargs .id = 'rooty '
96106 httpretty .register_uri (httpretty .GET , self .LIST_URL ,
97107 body = self .LIST_ONE )
98108 httpretty .register_uri (httpretty .DELETE , self .DELETE_URL ,
99109 body = self .DELETE )
100110 self .when_run (router .DeleteRouter , pargs )
101111 self .assertEqual ('' , self .stderr ())
102- self .assertEqual (u'Deleted router: gator \n ' ,
112+ self .assertEqual (u'Deleted router: rooty \n ' ,
103113 self .stdout ())
104114
105115 @httpretty .activate
@@ -113,7 +123,7 @@ def test_list(self):
113123 self .assertEqual ('' , self .stderr ())
114124 self .assertEqual ("""\
115125 id,name
116- a9254bdb,gator
126+ a9254bdb,rooty
117127b8408dgd,croc
118128""" , self .stdout ())
119129
@@ -128,13 +138,13 @@ def test_list_l3(self):
128138 self .assertEqual ('' , self .stderr ())
129139 self .assertEqual ("""\
130140 id,name,external_gateway_info
131- 8eef2388,gator ,{}
141+ 8eef2388,rooty ,{}
132142""" , self .stdout ())
133143
134144 @httpretty .activate
135145 def test_set (self ):
136146 pargs = common .FakeParsedArgs ()
137- pargs .name = 'gator '
147+ pargs .name = 'rooty '
138148 pargs .router_id = '88888823'
139149 pargs .no_gateway = True
140150 httpretty .register_uri (httpretty .GET , self .LIST_URL ,
@@ -149,7 +159,7 @@ def test_set(self):
149159 @httpretty .activate
150160 def test_show (self ):
151161 pargs = common .FakeParsedArgs ()
152- pargs .id = 'gator '
162+ pargs .id = 'rooty '
153163 httpretty .register_uri (httpretty .GET , self .LIST_URL ,
154164 body = self .LIST_ONE )
155165 httpretty .register_uri (httpretty .GET , self .SHOW_URL ,
@@ -158,7 +168,39 @@ def test_show(self):
158168 self .assertEqual ('' , self .stderr ())
159169 self .assertEqual (u"""\
160170 id="a9254bdb"
161- name="gator "
171+ name="rooty "
162172status="ACTIVE"
163173tenant_id="33a40233"
164174""" , self .stdout ())
175+
176+ @httpretty .activate
177+ def test_add (self ):
178+ pargs = common .FakeParsedArgs ()
179+ pargs .router_id = 'rooty'
180+ pargs .interface = 'subby'
181+ httpretty .register_uri (httpretty .GET , self .LIST_URL ,
182+ body = self .LIST_ONE )
183+ httpretty .register_uri (httpretty .GET , self .SUBNET_URL ,
184+ body = self .SUBNET_ONE )
185+ httpretty .register_uri (httpretty .PUT , self .ADD_URL ,
186+ body = self .ADD )
187+ self .when_run (router .AddInterfaceRouter , pargs )
188+ self .assertEqual ('' , self .stderr ())
189+ self .assertEqual (u'Added interface 93939392 to router rooty.\n ' ,
190+ self .stdout ())
191+
192+ @httpretty .activate
193+ def test_remove (self ):
194+ pargs = common .FakeParsedArgs ()
195+ pargs .router_id = 'rooty'
196+ pargs .interface = 'subby'
197+ httpretty .register_uri (httpretty .GET , self .LIST_URL ,
198+ body = self .LIST_ONE )
199+ httpretty .register_uri (httpretty .GET , self .SUBNET_URL ,
200+ body = self .SUBNET_ONE )
201+ httpretty .register_uri (httpretty .PUT , self .REMOVE_URL ,
202+ body = self .REMOVE )
203+ self .when_run (router .RemoveInterfaceRouter , pargs )
204+ self .assertEqual ('' , self .stderr ())
205+ self .assertEqual (u'Removed interface from router rooty.\n ' ,
206+ self .stdout ())
0 commit comments