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