use of org.apache.camel.builder.RouteBuilder in project camel by apache.
the class AdvisedMockEndpointProducerTest method startCamelContext.
@Test
@InSequence(1)
public void startCamelContext(CamelContext context) throws Exception {
context.addRoutes(new RouteBuilder() {
@Override
public void configure() {
interceptSendToEndpoint("mock:outbound").skipSendToOriginalEndpoint().log("Intercepting message [${body}] from mock endpoint").to("mock:intercepted");
from("direct:inbound").to("mock:outbound");
}
});
context.startAllRoutes();
}
use of org.apache.camel.builder.RouteBuilder in project camel by apache.
the class ObjectCacheProducerTest method testAddingMultipleDataInCacheAndGettingBack.
/**
* Test storing 3 elements into object cache then retrieving them back.
* We allow cache to store maximum of 2 values to check that overflow to disk not happened (it is not
* allowed in ehcache object cache (not serializable cache)).
*
* @throws Exception
* @see net.sf.ehcache.Element for information about object cache operations in ehcache
*/
@Test
public void testAddingMultipleDataInCacheAndGettingBack() throws Exception {
context.addRoutes(new RouteBuilder() {
public void configure() {
onException(Exception.class).handled(true).to("log:LOGGER").to("mock:ObjectCacheProducerTest.cacheException");
from("direct:a").setHeader(CacheConstants.CACHE_OPERATION, constant(CacheConstants.CACHE_OPERATION_ADD)).setHeader(CacheConstants.CACHE_KEY, constant("Ralph_Waldo_Emerson")).to("cache://TestCache1?objectCache=true&overflowToDisk=false&diskPersistent=false&maxElementsInMemory=2");
from("direct:aGet").setHeader(CacheConstants.CACHE_OPERATION, constant(CacheConstants.CACHE_OPERATION_GET)).setHeader(CacheConstants.CACHE_KEY, constant("Ralph_Waldo_Emerson")).to("cache://TestCache1?objectCache=true&overflowToDisk=false&diskPersistent=false&maxElementsInMemory=2").choice().when(header(CacheConstants.CACHE_ELEMENT_WAS_FOUND).isNotNull()).to("mock:ObjectCacheProducerTest.result").end();
from("direct:b").setHeader(CacheConstants.CACHE_OPERATION, constant(CacheConstants.CACHE_OPERATION_ADD)).setHeader(CacheConstants.CACHE_KEY, constant("Ralph_Waldo_Emerson_2")).to("cache://TestCache1?objectCache=true&overflowToDisk=false&diskPersistent=false&maxElementsInMemory=2");
from("direct:bGet").setHeader(CacheConstants.CACHE_OPERATION, constant(CacheConstants.CACHE_OPERATION_GET)).setHeader(CacheConstants.CACHE_KEY, constant("Ralph_Waldo_Emerson_2")).to("cache://TestCache1?objectCache=true&overflowToDisk=false&diskPersistent=false&maxElementsInMemory=2").choice().when(header(CacheConstants.CACHE_ELEMENT_WAS_FOUND).isNotNull()).to("mock:ObjectCacheProducerTest.result").end();
from("direct:c").setHeader(CacheConstants.CACHE_OPERATION, constant(CacheConstants.CACHE_OPERATION_ADD)).setHeader(CacheConstants.CACHE_KEY, constant("Ralph_Waldo_Emerson_3")).to("cache://TestCache1?objectCache=true&overflowToDisk=false&diskPersistent=false&maxElementsInMemory=2");
from("direct:cGet").setHeader(CacheConstants.CACHE_OPERATION, constant(CacheConstants.CACHE_OPERATION_GET)).setHeader(CacheConstants.CACHE_KEY, constant("Ralph_Waldo_Emerson_3")).to("cache://TestCache1?objectCache=true&overflowToDisk=false&diskPersistent=false&maxElementsInMemory=2").choice().when(header(CacheConstants.CACHE_ELEMENT_WAS_FOUND).isNotNull()).to("mock:ObjectCacheProducerTest.result").end();
}
});
context.setTracing(true);
context.start();
resultEndpoint.expectedMessageCount(2);
cacheExceptionEndpoint.expectedMessageCount(0);
log.debug("------------Beginning CacheProducer Add and Get Test---------------");
log.debug("Putting data into cache");
sendNonSerializedData("direct:a", newPoetry("Ralph Waldo Emerson", "Brahma"));
sendNonSerializedData("direct:b", newPoetry("Ralph Waldo Emerson", "The Rhodora"));
sendNonSerializedData("direct:c", newPoetry("Ralph Waldo Emerson", "Concord Hymn"));
log.debug("Retrieving data from cache");
sendEmptyBody("direct:aGet");
sendEmptyBody("direct:bGet");
sendEmptyBody("direct:cGet");
cacheExceptionEndpoint.assertIsSatisfied();
resultEndpoint.assertIsSatisfied();
}
use of org.apache.camel.builder.RouteBuilder in project camel by apache.
the class CacheProducerTest method testUpdatingDataInCacheDoesFailOnEmptyBody.
@Test
public void testUpdatingDataInCacheDoesFailOnEmptyBody() throws Exception {
context.addRoutes(new RouteBuilder() {
public void configure() {
onException(CacheException.class).handled(true).to("log:LOGGER").to("mock:CacheProducerTest.cacheException");
from("direct:a").setHeader(CacheConstants.CACHE_OPERATION, constant(CacheConstants.CACHE_OPERATION_UPDATE)).setHeader(CacheConstants.CACHE_KEY, constant("Ralph_Waldo_Emerson")).to("cache://TestCache1");
}
});
cacheExceptionEndpoint.expectedMessageCount(1);
context.start();
log.debug("------------Beginning CacheProducer Update Does Fail On Empty Body Test---------------");
sendEmptyBody();
cacheExceptionEndpoint.assertIsSatisfied();
}
use of org.apache.camel.builder.RouteBuilder in project camel by apache.
the class CacheProducerTest method testCheckDataFromCache.
@Test
public void testCheckDataFromCache() throws Exception {
context.addRoutes(new RouteBuilder() {
public void configure() {
onException(CacheException.class).handled(true).to("log:LOGGER").to("mock:CacheProducerTest.cacheException");
from("direct:a").setHeader(CacheConstants.CACHE_OPERATION, constant(CacheConstants.CACHE_OPERATION_ADD)).setHeader(CacheConstants.CACHE_KEY, constant("Ralph_Waldo_Emerson")).setBody(constant("Test body")).to("cache://TestCache1").setHeader(CacheConstants.CACHE_OPERATION, constant(CacheConstants.CACHE_OPERATION_URL_CHECK)).setHeader(CacheConstants.CACHE_KEY, constant("Ralph_Waldo_Emerson")).to("cache://TestCache1").choice().when(header(CacheConstants.CACHE_ELEMENT_WAS_FOUND).isNotNull()).to("mock:CacheProducerTest.result").end();
}
});
resultEndpoint.expectedMessageCount(1);
cacheExceptionEndpoint.expectedMessageCount(0);
resultEndpoint.expectedBodiesReceived("Test body");
context.start();
log.debug("------------Beginning CacheProducer Check An Element Exists Test---------------");
sendOriginalFile();
resultEndpoint.assertIsSatisfied();
cacheExceptionEndpoint.assertIsSatisfied();
}
use of org.apache.camel.builder.RouteBuilder in project camel by apache.
the class CacheProducerTest method testCheckDataFromCacheNegativeTest.
@Test
public void testCheckDataFromCacheNegativeTest() throws Exception {
context.addRoutes(new RouteBuilder() {
public void configure() {
onException(CacheException.class).handled(true).to("log:LOGGER").to("mock:CacheProducerTest.cacheException");
from("direct:a").setHeader(CacheConstants.CACHE_OPERATION, constant(CacheConstants.CACHE_OPERATION_ADD)).setHeader(CacheConstants.CACHE_KEY, constant("Ralph_Waldo_Emerson")).setBody(constant("Test body")).to("cache://TestCache1").setHeader(CacheConstants.CACHE_OPERATION, constant(CacheConstants.CACHE_OPERATION_URL_CHECK)).setHeader(CacheConstants.CACHE_KEY, constant("foo")).to("cache://TestCache1").choice().when(header(CacheConstants.CACHE_ELEMENT_WAS_FOUND).isNotNull()).to("mock:CacheProducerTest.result").end();
}
});
resultEndpoint.expectedMessageCount(0);
cacheExceptionEndpoint.expectedMessageCount(0);
context.start();
log.debug("------------Beginning CacheProducer Check An Element Does Not Exist Test---------------");
sendOriginalFile();
resultEndpoint.assertIsSatisfied();
cacheExceptionEndpoint.assertIsSatisfied();
}
Aggregations