summaryrefslogtreecommitdiff
path: root/tests/topotests/bgp_vpnv4_noretain
diff options
context:
space:
mode:
authorLouis Scalbert <louis.scalbert@6wind.com>2023-06-06 17:00:18 +0200
committerLouis Scalbert <louis.scalbert@6wind.com>2023-06-16 14:18:25 +0200
commitc2435c67f4a431d6ad9e52a7c8aa7ad2105f5b19 (patch)
tree0c38101ec8b483142fa29878960b803716d588d3 /tests/topotests/bgp_vpnv4_noretain
parenta04d32b36649c0e14c76ec121d17a46d95db5697 (diff)
topotests: cosmetic changes to bgp_vpnv4_noretain
Cosmetic changes to bgp_vpnv4_noretain to prepare the next commit. Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Diffstat (limited to 'tests/topotests/bgp_vpnv4_noretain')
-rw-r--r--tests/topotests/bgp_vpnv4_noretain/r1/ipv4_vpn_routes_all.json (renamed from tests/topotests/bgp_vpnv4_noretain/r1/ipv4_vpn_routes_unfiltered.json)0
-rw-r--r--tests/topotests/bgp_vpnv4_noretain/r1/ipv4_vpn_routes_no_retain_init.json (renamed from tests/topotests/bgp_vpnv4_noretain/r1/ipv4_vpn_routes.json)0
-rw-r--r--tests/topotests/bgp_vpnv4_noretain/test_bgp_vpnv4_noretain.py59
3 files changed, 24 insertions, 35 deletions
diff --git a/tests/topotests/bgp_vpnv4_noretain/r1/ipv4_vpn_routes_unfiltered.json b/tests/topotests/bgp_vpnv4_noretain/r1/ipv4_vpn_routes_all.json
index 45f4acce6f..45f4acce6f 100644
--- a/tests/topotests/bgp_vpnv4_noretain/r1/ipv4_vpn_routes_unfiltered.json
+++ b/tests/topotests/bgp_vpnv4_noretain/r1/ipv4_vpn_routes_all.json
diff --git a/tests/topotests/bgp_vpnv4_noretain/r1/ipv4_vpn_routes.json b/tests/topotests/bgp_vpnv4_noretain/r1/ipv4_vpn_routes_no_retain_init.json
index 28e153e3de..28e153e3de 100644
--- a/tests/topotests/bgp_vpnv4_noretain/r1/ipv4_vpn_routes.json
+++ b/tests/topotests/bgp_vpnv4_noretain/r1/ipv4_vpn_routes_no_retain_init.json
diff --git a/tests/topotests/bgp_vpnv4_noretain/test_bgp_vpnv4_noretain.py b/tests/topotests/bgp_vpnv4_noretain/test_bgp_vpnv4_noretain.py
index 9b8ae4b7e3..af6e47ab78 100644
--- a/tests/topotests/bgp_vpnv4_noretain/test_bgp_vpnv4_noretain.py
+++ b/tests/topotests/bgp_vpnv4_noretain/test_bgp_vpnv4_noretain.py
@@ -139,24 +139,15 @@ def router_json_cmp_exact_filter(router, cmd, expected):
return topotest.json_cmp(json_output, expected, exact=True)
-def test_bgp_no_retain():
- """
- Check bgp no retain route-target all on r1
- """
-
+def check_show_bgp_ipv4_vpn(rname, json_file):
tgen = get_topogen()
if tgen.routers_have_failure():
pytest.skip(tgen.errors)
+ router = tgen.gears[rname]
- # Check IPv4 VPN routing tables on r1
- logger.info("Checking VPNv4 routes for convergence on r1")
- router = tgen.gears["r1"]
- json_file = "{}/{}/ipv4_vpn_routes.json".format(CWD, router.name)
- if not os.path.isfile(json_file):
- logger.info("skipping file {}".format(json_file))
- assert 0, "{} file not found".format(json_file)
- return
+ logger.info("Checking VPNv4 routes for convergence on {}".format(rname))
+ json_file = "{}/{}/{}".format(CWD, router.name, json_file)
expected = json.loads(open(json_file).read())
test_func = partial(
router_json_cmp_exact_filter,
@@ -169,37 +160,35 @@ def test_bgp_no_retain():
assert result is None, assertmsg
-def test_bgp_retain():
+def test_bgp_no_retain_step1():
+ """
+ Check bgp no retain route-target all on r1
+ """
+
+ rname = "r1"
+ check_show_bgp_ipv4_vpn(rname, "ipv4_vpn_routes_no_retain_init.json")
+
+
+def test_bgp_retain_step2():
"""
Apply and check bgp retain route-target all on r1
"""
+ rname = "r1"
+ cfg = """
+configure
+router bgp 65500
+ address-family ipv4 vpn
+ bgp retain route-target all
+"""
tgen = get_topogen()
if tgen.routers_have_failure():
pytest.skip(tgen.errors)
- # Check IPv4 VPN routing tables on r1
- logger.info("Checking VPNv4 routes on r1 after bgp no retain")
- router = tgen.gears["r1"]
- router.vtysh_cmd(
- "configure\nrouter bgp 65500\naddress-family ipv4 vpn\nbgp retain route-target all\n"
- )
- json_file = "{}/{}/ipv4_vpn_routes_unfiltered.json".format(CWD, router.name)
- if not os.path.isfile(json_file):
- logger.info("skipping file {}".format(json_file))
- assert 0, "{} file not found".format(json_file)
- return
+ router = tgen.gears[rname]
+ router.vtysh_cmd(cfg)
- expected = json.loads(open(json_file).read())
- test_func = partial(
- router_json_cmp_exact_filter,
- router,
- "show bgp ipv4 vpn json",
- expected,
- )
- _, result = topotest.run_and_expect(test_func, None, count=10, wait=0.5)
- assertmsg = '"{}" JSON output mismatches'.format(router.name)
- assert result is None, assertmsg
+ check_show_bgp_ipv4_vpn(rname, "ipv4_vpn_routes_all.json")
def test_memory_leak():