summaryrefslogtreecommitdiff
path: root/tests/topotests/bgp_addpath_best_selected
diff options
context:
space:
mode:
authorDonatas Abraitis <donatas@opensourcerouting.org>2024-12-19 18:24:06 +0200
committerDonatas Abraitis <donatas@opensourcerouting.org>2024-12-19 18:24:50 +0200
commitddab988cceba6e149221b137efe51d39feb60edd (patch)
treece2d7a0c59152de455b60efed17588abfebd73cf /tests/topotests/bgp_addpath_best_selected
parentaade9a7992750e45634b8ce54f141c93e1f6c6de (diff)
tests: Check if we received a DECENT amount of prefixes/paths
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Diffstat (limited to 'tests/topotests/bgp_addpath_best_selected')
-rw-r--r--tests/topotests/bgp_addpath_best_selected/test_bgp_addpath_best_selected.py89
1 files changed, 40 insertions, 49 deletions
diff --git a/tests/topotests/bgp_addpath_best_selected/test_bgp_addpath_best_selected.py b/tests/topotests/bgp_addpath_best_selected/test_bgp_addpath_best_selected.py
index 3d17a2b709..e58b53728b 100644
--- a/tests/topotests/bgp_addpath_best_selected/test_bgp_addpath_best_selected.py
+++ b/tests/topotests/bgp_addpath_best_selected/test_bgp_addpath_best_selected.py
@@ -73,7 +73,9 @@ def test_bgp_addpath_best_selected():
if tgen.routers_have_failure():
pytest.skip(tgen.errors)
+ r1 = tgen.gears["r1"]
r2 = tgen.gears["r2"]
+ r7 = tgen.gears["r7"]
def _bgp_converge():
output = json.loads(r2.vtysh_cmd("show bgp ipv4 unicast 172.16.16.254/32 json"))
@@ -111,78 +113,67 @@ def test_bgp_addpath_best_selected():
_, result = topotest.run_and_expect(test_func, None, count=30, wait=1)
assert result is None, "Can't converge initially"
- def check_bgp_advertised_routes_to_r1():
+ def r1_check_bgp_received_routes_from_r2():
output = json.loads(
- r2.vtysh_cmd(
- "show bgp ipv4 neighbors 192.168.1.1 advertised-routes detail json"
- )
+ r1.vtysh_cmd("show bgp ipv4 neighbors 192.168.1.2 routes json")
)
expected = {
- "advertisedRoutes": {
- "172.16.16.254/32": {
- "paths": [
- {
- "aspath": {
- "string": "65005",
- }
- },
- {
- "aspath": {
- "string": "65006",
- }
- },
- ]
- }
+ "routes": {
+ "172.16.16.254/32": [
+ {
+ "valid": True,
+ "path": "65002 65005",
+ },
+ {
+ "valid": True,
+ "path": "65002 65006",
+ },
+ ]
},
- "totalPrefixCounter": 2,
+ "totalRoutes": 1,
+ "totalPaths": 2,
}
return topotest.json_cmp(output, expected)
- test_func = functools.partial(check_bgp_advertised_routes_to_r1)
+ test_func = functools.partial(r1_check_bgp_received_routes_from_r2)
_, result = topotest.run_and_expect(test_func, None, count=30, wait=1)
assert (
result is None
- ), "Received more/less Add-Path best paths, but should be only 1+1 (real best path)"
+ ), "Received more/less Add-Path best paths, but should be ONLY 1+1 (real best path)"
- def check_bgp_advertised_routes_to_r7():
+ def r7_check_bgp_received_routes_from_r2():
output = json.loads(
- r2.vtysh_cmd(
- "show bgp ipv4 neighbors 192.168.7.7 advertised-routes detail json"
- )
+ r7.vtysh_cmd("show bgp ipv4 neighbors 192.168.7.2 routes json")
)
expected = {
- "advertisedRoutes": {
- "172.16.16.254/32": {
- "paths": [
- {
- "aspath": {
- "string": "65004",
- }
- },
- {
- "aspath": {
- "string": "65005",
- }
- },
- {
- "aspath": {
- "string": "65006",
- }
- },
- ]
- }
+ "routes": {
+ "172.16.16.254/32": [
+ {
+ "valid": True,
+ "path": "65002 65004",
+ },
+ {
+ "valid": True,
+ "path": "65002 65005",
+ },
+ {
+ "valid": True,
+ "path": "65002 65006",
+ },
+ ]
},
- "totalPrefixCounter": 3,
+ "totalRoutes": 1,
+ "totalPaths": 3,
}
return topotest.json_cmp(output, expected)
- test_func = functools.partial(check_bgp_advertised_routes_to_r7)
+ test_func = functools.partial(r7_check_bgp_received_routes_from_r2)
_, result = topotest.run_and_expect(test_func, None, count=30, wait=1)
assert (
result is None
- ), "Received more/less Add-Path best paths, but should be only 2+1 (real best path)"
+ ), "Received more/less Add-Path best paths, but should be ONLY 2+1 (real best path)"
if __name__ == "__main__":