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();
+            }
+        }
     }
 }

Reply via email to