]> git.puffer.fish Git - matthieu/frr.git/commitdiff
tests: check show route vrf all json output
authorLouis Scalbert <louis.scalbert@6wind.com>
Mon, 27 May 2024 08:35:26 +0000 (10:35 +0200)
committerLouis Scalbert <louis.scalbert@6wind.com>
Fri, 7 Jun 2024 08:13:32 +0000 (10:13 +0200)
Check that "show ip route vrf XXX json" and the JSON at key "XXX" of
"show ip route vrf all json" gives the same output.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
tests/topotests/bgp_vrf_route_leak_basic/test_bgp-vrf-route-leak-basic.py

index 3938a966eea2f2575eb9397f0e719a5ea6d32ca1..6d4b436bccf9360fcae7d271f36029af9c909c9a 100644 (file)
@@ -338,6 +338,21 @@ interface EVA
     result, diff = topotest.run_and_expect(test_func, None, count=10, wait=0.5)
     assert result, "BGP VRF DONNA check failed:\n{}".format(diff)
 
+    """
+    Check that "show ip route vrf DONNA json" and the JSON at key "DONNA" of
+    "show ip route vrf all json" gives the same result.
+    """
+
+    def check_vrf_table(router, vrf, expect):
+        output = router.vtysh_cmd("show ip route vrf all json", isjson=True)
+        vrf_table = output.get(vrf, {})
+
+        return topotest.json_cmp(vrf_table, expect)
+
+    test_func = partial(check_vrf_table, r1, "DONNA", expect)
+    result, diff = topotest.run_and_expect(test_func, None, count=10, wait=0.5)
+    assert result, "BGP VRF DONNA check failed:\n{}".format(diff)
+
 
 def test_vrf_route_leak_donna_after_eva_up():
     logger.info("Ensure that route states change after EVA interface goes up")