String reply = template.requestBody(serverUri, "World", String.class);
assertEquals("Bye World", reply);
// now suspend jetty
HttpConsumer consumer = (HttpConsumer) context.getRoute("route1").getConsumer();
assertNotNull(consumer);
// suspend
consumer.suspend();
try {
template.requestBody(serverUri, "Moon", String.class);
fail("Should throw exception");
} catch (Exception e) {
HttpOperationFailedException cause = assertIsInstanceOf(HttpOperationFailedException.class, e.getCause());
assertEquals(503, cause.getStatusCode());
}
// resume
consumer.resume();
// and send request which should be processed
reply = template.requestBody(serverUri, "Moon", String.class);
assertEquals("Bye Moon", reply);
}