final DefaultMessagingDelegate engine = new DefaultMessagingDelegate();
engine.start();
final int timeout = 300;
long startTime = System.currentTimeMillis();
Future<Message<?>> future = engine.request(new TestMessage<String>("requestType", "requestBody"), "responseType",
timeout);
Message<?> actualResponse = future.get();
long totalTime = System.currentTimeMillis() - startTime;
assertTrue(totalTime >= timeout);