You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2023/03/10 14:29:40 UTC

[camel] branch main updated: CAMEL-19127: Added unit test.

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