Enhance the RouteEvent to notify listeners of alternative viable routes.
Traditionally the route event only notified listeners of the best selected
route for a given prefix, but some listeners are interested in all resolved
routes for the prefix.
CORD-905
Change-Id: Ia3e1e3a8e3e825ba894e6835e0860c3ed698d29b
diff --git a/incubator/net/src/test/java/org/onosproject/incubator/net/routing/impl/RouteManagerTest.java b/incubator/net/src/test/java/org/onosproject/incubator/net/routing/impl/RouteManagerTest.java
index aeb2ff1..370b83b 100644
--- a/incubator/net/src/test/java/org/onosproject/incubator/net/routing/impl/RouteManagerTest.java
+++ b/incubator/net/src/test/java/org/onosproject/incubator/net/routing/impl/RouteManagerTest.java
@@ -199,7 +199,7 @@
private void verifyRouteAdd(Route route, ResolvedRoute resolvedRoute) {
reset(routeListener);
- routeListener.event(new RouteEvent(RouteEvent.Type.ROUTE_ADDED, resolvedRoute));
+ routeListener.event(event(RouteEvent.Type.ROUTE_ADDED, resolvedRoute));
replay(routeListener);
@@ -253,7 +253,7 @@
// First add the original route
addRoute(original);
- routeListener.event(new RouteEvent(RouteEvent.Type.ROUTE_UPDATED,
+ routeListener.event(event(RouteEvent.Type.ROUTE_UPDATED,
updatedResolvedRoute, resolvedRoute));
expectLastCall().once();
@@ -329,7 +329,7 @@
// Now when we send the event, we expect the FIB update to be sent
reset(routeListener);
- routeListener.event(new RouteEvent(RouteEvent.Type.ROUTE_ADDED,
+ routeListener.event(event(RouteEvent.Type.ROUTE_ADDED,
new ResolvedRoute(route, MAC1, CP1)));
replay(routeListener);
@@ -349,6 +349,14 @@
verify(routeListener);
}
+ private static RouteEvent event(RouteEvent.Type type, ResolvedRoute subject) {
+ return event(type, subject, null);
+ }
+
+ private static RouteEvent event(RouteEvent.Type type, ResolvedRoute subject, ResolvedRoute prevSubject) {
+ return new RouteEvent(type, subject, prevSubject, Collections.singleton(subject));
+ }
+
/**
* Test host service that stores a reference to the host listener.
*/