mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-07-27 13:46:45 +00:00
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:
parent
ee1986f1b5
commit
9aed5777b7
@ -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__":
|
||||
|
Loading…
Reference in New Issue
Block a user