tests: Check if attributes are reapplied for aggregate routes with route-maps

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
This commit is contained in:
Donatas Abraitis 2024-01-30 15:54:04 +02:00
parent ee1986f1b5
commit 9aed5777b7

View File

@ -74,7 +74,8 @@ def test_bgp_maximum_prefix_invalid():
if tgen.routers_have_failure():
pytest.skip(tgen.errors)
router = tgen.gears["r2"]
r1 = tgen.gears["r1"]
r2 = tgen.gears["r2"]
def _bgp_converge(router):
output = json.loads(router.vtysh_cmd("show ip bgp neighbor 192.168.255.1 json"))
@ -86,22 +87,30 @@ def test_bgp_maximum_prefix_invalid():
}
return topotest.json_cmp(output, expected)
def _bgp_aggregate_address_has_metric(router):
def _bgp_aggregate_address_has_metric(router, metric):
output = json.loads(router.vtysh_cmd("show ip bgp 172.16.255.0/24 json"))
expected = {"paths": [{"metric": 123}]}
expected = {"paths": [{"metric": metric}]}
return topotest.json_cmp(output, expected)
test_func = functools.partial(_bgp_converge, router)
success, result = topotest.run_and_expect(test_func, None, count=30, wait=0.5)
test_func = functools.partial(_bgp_converge, r2)
_, result = topotest.run_and_expect(test_func, None, count=30, wait=0.5)
assert result is None, "Failed to see bgp convergence in r2"
assert result is None, 'Failed to see bgp convergence in "{}"'.format(router)
test_func = functools.partial(_bgp_aggregate_address_has_metric, r2, 123)
_, result = topotest.run_and_expect(test_func, None, count=30, wait=0.5)
assert result is None, "Failed to see applied metric for aggregated prefix in r2"
test_func = functools.partial(_bgp_aggregate_address_has_metric, router)
success, result = topotest.run_and_expect(test_func, None, count=30, wait=0.5)
r1.vtysh_cmd(
"""
configure terminal
route-map aggr-rmap permit 10
set metric 666
"""
)
assert (
result is None
), 'Failed to see applied metric for aggregated prefix in "{}"'.format(router)
test_func = functools.partial(_bgp_aggregate_address_has_metric, r2, 666)
_, result = topotest.run_and_expect(test_func, None, count=30, wait=0.5)
assert result is None, "Failed to see applied metric for aggregated prefix in r2"
if __name__ == "__main__":