This is an automated email from the ASF dual-hosted git repository. nferraro pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit 247cf9cc9a12a1fa584f61dba6f7e1c05a0a5816 Author: Nicola Ferraro <ni.ferr...@gmail.com> AuthorDate: Fri Jan 10 13:30:38 2020 +0100 CAMEL-14385: add more tests --- .../apache/camel/component/cron/CronComponent.java | 4 +++ .../camel/component/cron/CronLoaderTest.java | 40 ++++++++++++++++++---- .../component/cron/DummyCamelCronService.java | 12 ++++++- .../src/test/resources/log4j2.properties | 4 +-- 4 files changed, 51 insertions(+), 9 deletions(-) diff --git a/components/camel-cron/src/main/java/org/apache/camel/component/cron/CronComponent.java b/components/camel-cron/src/main/java/org/apache/camel/component/cron/CronComponent.java index acc6e8f..19192fc 100644 --- a/components/camel-cron/src/main/java/org/apache/camel/component/cron/CronComponent.java +++ b/components/camel-cron/src/main/java/org/apache/camel/component/cron/CronComponent.java @@ -83,6 +83,10 @@ public class CronComponent extends DefaultComponent { } } + public CamelCronService getService() { + return service; + } + public String getCronService() { return cronService; } diff --git a/components/camel-cron/src/test/java/org/apache/camel/component/cron/CronLoaderTest.java b/components/camel-cron/src/test/java/org/apache/camel/component/cron/CronLoaderTest.java index 79bb1d5..ad11413 100644 --- a/components/camel-cron/src/test/java/org/apache/camel/component/cron/CronLoaderTest.java +++ b/components/camel-cron/src/test/java/org/apache/camel/component/cron/CronLoaderTest.java @@ -16,8 +16,8 @@ */ package org.apache.camel.component.cron; -import org.apache.camel.RoutesBuilder; import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.component.cron.api.CamelCronService; import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.test.junit4.CamelTestSupport; import org.junit.Test; @@ -26,21 +26,49 @@ public class CronLoaderTest extends CamelTestSupport { @Test public void testDummyCronServiceLoading() throws Exception { + configureRoutes(); MockEndpoint mock = getMockEndpoint("mock:result"); mock.expectedBodiesReceived("x"); + + context.start(); mock.assertIsSatisfied(); } - @Override - protected RoutesBuilder createRouteBuilder() throws Exception { - return new RouteBuilder() { + @Test + public void testPreferRegistryOverServiceLoading() throws Exception { + context.getRegistry().bind("dummy2", new DummyCamelCronService("dummy2")); + configureRoutes(); + context.start(); + assertEquals("dummy2", getCamelCronService().getId()); + } + + @Test + public void testUseNamesWhenLoading() throws Exception { + context.getRegistry().bind("dummy2", new DummyCamelCronService("dummy2")); + context.getRegistry().bind("dummy3", new DummyCamelCronService("dummy3")); + configureRoutes(); + context.getComponent("cron", CronComponent.class).setCronService("dummy3"); + context.start(); + assertEquals("dummy3", getCamelCronService().getId()); + } + + private CamelCronService getCamelCronService() { + return context.getComponent("cron", CronComponent.class).getService(); + } + + private void configureRoutes() throws Exception { + context.addRoutes(new RouteBuilder() { @Override public void configure() throws Exception { from("cron:tab?schedule=0/1 * * * * ?") .setBody().constant("x") .to("mock:result"); - } - }; + }); + } + + @Override + public boolean isUseRouteBuilder() { + return false; } } diff --git a/components/camel-cron/src/test/java/org/apache/camel/component/cron/DummyCamelCronService.java b/components/camel-cron/src/test/java/org/apache/camel/component/cron/DummyCamelCronService.java index cfe49d0..7ff262c 100644 --- a/components/camel-cron/src/test/java/org/apache/camel/component/cron/DummyCamelCronService.java +++ b/components/camel-cron/src/test/java/org/apache/camel/component/cron/DummyCamelCronService.java @@ -27,6 +27,16 @@ public class DummyCamelCronService implements CamelCronService, CamelContextAwar private CamelContext camelContext; + private String id; + + public DummyCamelCronService() { + this("dummy"); + } + + public DummyCamelCronService(String id) { + this.id = id; + } + @Override public Endpoint createEndpoint(CamelCronConfiguration configuration) throws Exception { TimerComponent timerComponent = camelContext.getComponent("timer", TimerComponent.class); @@ -35,7 +45,7 @@ public class DummyCamelCronService implements CamelCronService, CamelContextAwar @Override public String getId() { - return "dummy"; + return id; } @Override diff --git a/components/camel-cron/src/test/resources/log4j2.properties b/components/camel-cron/src/test/resources/log4j2.properties index 536f7f6..760a00b 100644 --- a/components/camel-cron/src/test/resources/log4j2.properties +++ b/components/camel-cron/src/test/resources/log4j2.properties @@ -17,7 +17,7 @@ appender.file.type = File appender.file.name = file -appender.file.fileName = target/camel-reactive-streams-test.log +appender.file.fileName = target/camel-cron-test.log appender.file.layout.type = PatternLayout appender.file.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n appender.stdout.type = Console @@ -28,6 +28,6 @@ rootLogger.level = INFO rootLogger.appenderRef.file.ref = file #rootLogger.appenderRef.stdout.ref = stdout -#logger.debug.name = org.apache.camel.component.reactive.streams +#logger.debug.name = org.apache.camel.component.cron #logger.debug.level = DEBUG #logger.debug.additivity = true