summaryrefslogtreecommitdiffstats
path: root/tests/topotests/bgp_aggregate_address_route_map/test_bgp_aggregate-address_route-map.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/topotests/bgp_aggregate_address_route_map/test_bgp_aggregate-address_route-map.py')
-rw-r--r--tests/topotests/bgp_aggregate_address_route_map/test_bgp_aggregate-address_route-map.py37
1 files changed, 23 insertions, 14 deletions
diff --git a/tests/topotests/bgp_aggregate_address_route_map/test_bgp_aggregate-address_route-map.py b/tests/topotests/bgp_aggregate_address_route_map/test_bgp_aggregate-address_route-map.py
index cec0692..eeac714 100644
--- a/tests/topotests/bgp_aggregate_address_route_map/test_bgp_aggregate-address_route-map.py
+++ b/tests/topotests/bgp_aggregate_address_route_map/test_bgp_aggregate-address_route-map.py
@@ -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)
-
- assert result is None, 'Failed to see bgp convergence in "{}"'.format(router)
-
- test_func = functools.partial(_bgp_aggregate_address_has_metric, router)
- success, 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 "{}"'.format(router)
+ 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"
+
+ 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"
+
+ r1.vtysh_cmd(
+ """
+ configure terminal
+ route-map aggr-rmap permit 10
+ set metric 666
+ """
+ )
+
+ 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__":