diff options
| author | Donatas Abraitis <donatas@opensourcerouting.org> | 2024-12-19 18:24:06 +0200 |
|---|---|---|
| committer | Donatas Abraitis <donatas@opensourcerouting.org> | 2024-12-19 18:24:50 +0200 |
| commit | ddab988cceba6e149221b137efe51d39feb60edd (patch) | |
| tree | ce2d7a0c59152de455b60efed17588abfebd73cf /tests/topotests/bgp_addpath_best_selected | |
| parent | aade9a7992750e45634b8ce54f141c93e1f6c6de (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.py | 89 |
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__": |
