use of org.opennms.minion.core.api.MinionIdentity in project opennms by OpenNMS.
the class EchoRpcIT method failsWithTimeoutWhenSystemIdDoesNotExist.
/**
* Issues a RPC to a location at which a listener is registered,
* but specifies a system id that is not equal to the listener's.
* Since no matching system can process the request, the request
* should time out.
*/
@Test(timeout = 60000)
public void failsWithTimeoutWhenSystemIdDoesNotExist() throws Exception {
assertNotEquals(REMOTE_LOCATION_NAME, identity.getLocation());
EchoRpcModule echoRpcModule = new EchoRpcModule();
CamelContext context = getContext();
context.start();
MinionIdentity minionIdentity = new MockMinionIdentity(REMOTE_LOCATION_NAME);
CamelRpcServerRouteManager routeManager = getRouteManager(context);
routeManager.bind(echoRpcModule);
EchoRequest request = new EchoRequest("HELLO!!!");
// Use a different system id, other than the one that's actually listening
request.setSystemId(minionIdentity.getId() + "!");
request.setLocation(REMOTE_LOCATION_NAME);
try {
echoClient.execute(request).get();
fail("Did not get ExecutionException");
} catch (ExecutionException e) {
assertTrue("Cause is not of type RequestTimedOutException: " + ExceptionUtils.getStackTrace(e), e.getCause() instanceof RequestTimedOutException);
}
routeManager.unbind(echoRpcModule);
context.stop();
}
Aggregations