summaryrefslogtreecommitdiffhomepage
path: root/test/scenario_test/bgp_router_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/scenario_test/bgp_router_test.py')
-rw-r--r--test/scenario_test/bgp_router_test.py28
1 files changed, 27 insertions, 1 deletions
diff --git a/test/scenario_test/bgp_router_test.py b/test/scenario_test/bgp_router_test.py
index dd7c1edb..9486ac44 100644
--- a/test/scenario_test/bgp_router_test.py
+++ b/test/scenario_test/bgp_router_test.py
@@ -251,7 +251,7 @@ class GoBGPTestBase(unittest.TestCase):
def test_15_check_active_connection(self):
g1 = self.gobgp
- g2 = GoBGPContainer(name='g2', asn=65000, router_id='192.168.0.5',
+ g2 = GoBGPContainer(name='g2', asn=65000, router_id='192.168.0.7',
ctn_image_name=self.gobgp.image,
log_level=parser_option.gobgp_log_level)
time.sleep(g2.run())
@@ -285,6 +285,32 @@ class GoBGPTestBase(unittest.TestCase):
med = extract_path_attribute(path, BGP_ATTR_TYPE_MULTI_EXIT_DISC)
self.assertTrue(med['metric'] == 2000)
+ def test_17_check_shutdown(self):
+ q1 = self.quaggas['q1']
+ q2 = self.quaggas['q2']
+ q3 = self.quaggas['q3']
+
+ q2.add_route('20.0.0.0/24')
+ q3.add_route('20.0.0.0/24')
+
+ self.test_01_neighbor_established()
+
+ self.test_02_check_gobgp_global_rib()
+
+ paths = q1.get_global_rib('20.0.0.0/24')
+ self.assertTrue(len(paths) == 1)
+ n_addrs = [i[1].split('/')[0] for i in self.gobgp.ip_addrs]
+ self.assertTrue(paths[0]['nexthop'] in n_addrs)
+
+ q3.stop()
+
+ time.sleep(3)
+
+ paths = q1.get_global_rib('20.0.0.0/24')
+ self.assertTrue(len(paths) == 1)
+ self.assertTrue(paths[0]['nexthop'] in n_addrs)
+
+
if __name__ == '__main__':
if os.geteuid() is not 0:
print "you are not root."