This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push: new 8297b4b9f4d CAMEL-19127: Added unit test. 8297b4b9f4d is described below commit 8297b4b9f4d0443a9f7b9ec563c1f5a03bf807de Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Fri Mar 10 15:29:13 2023 +0100 CAMEL-19127: Added unit test. --- .../quartz/SimpleScheduledRoutePolicyTest.java | 81 ++++++++++++++++++++++ 1 file changed, 81 insertions(+) diff --git a/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SimpleScheduledRoutePolicyTest.java b/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SimpleScheduledRoutePolicyTest.java index 5110bb7dabe..603bf57b9d2 100644 --- a/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SimpleScheduledRoutePolicyTest.java +++ b/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SimpleScheduledRoutePolicyTest.java @@ -263,5 +263,86 @@ public class SimpleScheduledRoutePolicyTest { context.getComponent("quartz", QuartzComponent.class).stop(); success.assertIsSatisfied(); } + + @Nested + class SimpleTest7 extends NoBuilderTest { + @Test + public void testNoAutoStartup() throws Exception { + MockEndpoint success = context.getEndpoint("mock:success", MockEndpoint.class); + success.expectedMessageCount(1); + + context.getComponent("direct", DirectComponent.class).setBlock(false); + context.getComponent("quartz", QuartzComponent.class) + .setPropertiesFile("org/apache/camel/routepolicy/quartz/myquartz.properties"); + context.addRoutes(new RouteBuilder() { + public void configure() { + SimpleScheduledRoutePolicy policy = new SimpleScheduledRoutePolicy(); + long startTime = System.currentTimeMillis() + 3000L; + policy.setRouteStartDate(new Date(startTime)); + policy.setRouteStartRepeatCount(1); + policy.setRouteStartRepeatInterval(3000); + + from("direct:start") + .routeId("test") + .noAutoStartup() + .routePolicy(policy) + .to("mock:success"); + } + }); + context.start(); + + Thread.sleep(5000); + assertSame(ServiceStatus.Started, context.getRouteController().getRouteStatus("test")); + template.sendBody("direct:start", "Ready or not, Here, I come"); + + context.getComponent("quartz", QuartzComponent.class).stop(); + success.assertIsSatisfied(); + } + } + + @Nested + class SimpleTest8 extends NoBuilderTest { + @Test + public void testNoAutoStartupDynamic() throws Exception { + MockEndpoint success = context.getEndpoint("mock:success", MockEndpoint.class); + success.expectedMessageCount(1); + + context.getComponent("direct", DirectComponent.class).setBlock(false); + context.getComponent("quartz", QuartzComponent.class) + .setPropertiesFile("org/apache/camel/routepolicy/quartz/myquartz.properties"); + + context.addRoutes(new RouteBuilder() { + @Override + public void configure() throws Exception { + from("direct:start") + .process(e -> context.addRoutes(new RouteBuilder() { + @Override + public void configure() throws Exception { + SimpleScheduledRoutePolicy policy = new SimpleScheduledRoutePolicy(); + long startTime = System.currentTimeMillis() + 3000L; + policy.setRouteStartDate(new Date(startTime)); + + from("direct:dynamic") + .routeId("dynamic") + .noAutoStartup() + .routePolicy(policy) + .to("mock:success"); + } + })); + } + }); + + context.start(); + + template.sendBody("direct:start", "Hello World"); + + Thread.sleep(5000); + assertSame(ServiceStatus.Started, context.getRouteController().getRouteStatus("dynamic")); + template.sendBody("direct:dynamic", "Ready or not, Here, I come"); + + context.getComponent("quartz", QuartzComponent.class).stop(); + success.assertIsSatisfied(); + } + } } }