+ @Test
+ public void testFindRoutersNotPresentInitially() throws Exception {
+
+ final JavaTestKit mockBroker1 = new JavaTestKit(node1);
+ final JavaTestKit mockBroker2 = new JavaTestKit(node2);
+
+ registry1.tell(new SetLocalRouter(mockBroker1.getRef()), mockBroker1.getRef());
+ registry2.tell(new SetLocalRouter(mockBroker2.getRef()), mockBroker2.getRef());
+
+ List<RpcRouter.RouteIdentifier<?, ?, ?>> routeIds = createRouteIds();
+
+ registry1.tell(new FindRouters(routeIds.get(0)), mockBroker1.getRef());
+
+ registry2.tell(new AddOrUpdateRoutes(routeIds), mockBroker2.getRef());
+
+ FindRoutersReply reply = mockBroker1.expectMsgClass(Duration.create(7, TimeUnit.SECONDS),
+ FindRoutersReply.class);
+ List<Pair<ActorRef, Long>> respList = reply.getRouterWithUpdateTime();
+ Assert.assertEquals("getRouterWithUpdateTime size", 1, respList.size());
+ }
+
+ @Test
+ public void testFindRoutersNonExistent() throws Exception {
+
+ final JavaTestKit mockBroker1 = new JavaTestKit(node1);
+
+ registry1.tell(new SetLocalRouter(mockBroker1.getRef()), mockBroker1.getRef());
+
+ List<RpcRouter.RouteIdentifier<?, ?, ?>> routeIds = createRouteIds();
+
+ registry1.tell(new FindRouters(routeIds.get(0)), mockBroker1.getRef());
+
+ FindRoutersReply reply = mockBroker1.expectMsgClass(Duration.create(7, TimeUnit.SECONDS),
+ FindRoutersReply.class);
+ List<Pair<ActorRef, Long>> respList = reply.getRouterWithUpdateTime();
+ Assert.assertEquals("getRouterWithUpdateTime size", 0, respList.size());
+ }