You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by nf...@apache.org on 2020/01/13 11:30:47 UTC
[camel] 03/08: CAMEL-14385: add more tests
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...@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