CAMEL-7978 Added unit test for the new added option in camel-quartz
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/360dc0de Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/360dc0de Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/360dc0de Branch: refs/heads/master Commit: 360dc0de19e26a873a966536d2e3ac491f2888b1 Parents: d31123f Author: Willem Jiang <willem.ji...@gmail.com> Authored: Fri Nov 21 21:44:04 2014 +0800 Committer: Willem Jiang <willem.ji...@gmail.com> Committed: Fri Nov 21 22:16:24 2014 +0800 ---------------------------------------------------------------------- ...sistentStoreRestartAppChangeOptionsTest.java | 12 +++- ...StoreRestartAppChangeCronExpressionTest2.xml | 4 +- ...StoreRestartAppChangeCronExpressionTest3.xml | 70 ++++++++++++++++++++ ...sistentStoreRestartAppChangeOptionsTest.java | 1 + 4 files changed, 84 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/360dc0de/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeOptionsTest.java ---------------------------------------------------------------------- diff --git a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeOptionsTest.java b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeOptionsTest.java index e930c47..e1c8ea4 100644 --- a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeOptionsTest.java +++ b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeOptionsTest.java @@ -36,6 +36,7 @@ public class SpringQuartzPersistentStoreRestartAppChangeOptionsTest extends Test private static AbstractXmlApplicationContext db; private AbstractXmlApplicationContext app; private AbstractXmlApplicationContext app2; + private AbstractXmlApplicationContext app3; @BeforeClass public static void prepareDB() { @@ -54,7 +55,7 @@ public class SpringQuartzPersistentStoreRestartAppChangeOptionsTest extends Test // we're done so let's properly close the application contexts, but close // the second app before the first one so that the quartz scheduler running // inside it can be properly shutdown - IOHelper.close(app2, app); + IOHelper.close(app3, app2, app); } @@ -88,6 +89,15 @@ public class SpringQuartzPersistentStoreRestartAppChangeOptionsTest extends Test assertNotEquals(cronExpression, cronExpression2); + app3 = new ClassPathXmlApplicationContext("org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest3.xml"); + app3.start(); + CamelContext camel3 = app3.getBean("camelContext3", CamelContext.class); + assertNotNull(camel3); + String cronExpression3 = ((CronTrigger) getTrigger(camel3, "quartzRoute")).getCronExpression(); + app3.stop(); + + assertEquals(cronExpression2, cronExpression3); + } http://git-wip-us.apache.org/repos/asf/camel/blob/360dc0de/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest2.xml ---------------------------------------------------------------------- diff --git a/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest2.xml b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest2.xml index e782d53..f3aeb88 100644 --- a/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest2.xml +++ b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest2.xml @@ -43,7 +43,7 @@ <property name="schedulerContextAsMap"> <!-- hook Camel into Quartz --> <map> - <entry key="CamelQuartzCamelContext-camelContext" value-ref="camelContext"/> + <entry key="CamelQuartzCamelContext-camelContext1" value-ref="camelContext"/> </map> </property> <property name="quartzProperties"> @@ -59,7 +59,7 @@ </property> </bean> - <camelContext id="camelContext" managementNamePattern="#name#" xmlns="http://camel.apache.org/schema/spring"> + <camelContext id="camelContext" managementNamePattern="#name#1" xmlns="http://camel.apache.org/schema/spring"> <route id="quartzRoute"> <from uri="quartzBean://app/test?cron=0+0/2+*+1/1+*+?+*"/> <to uri="log:trigger"/> http://git-wip-us.apache.org/repos/asf/camel/blob/360dc0de/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest3.xml ---------------------------------------------------------------------- diff --git a/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest3.xml b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest3.xml new file mode 100644 index 0000000..4396eaf --- /dev/null +++ b/components/camel-quartz/src/test/resources/org/apache/camel/component/quartz/SpringQuartzPersistentStoreRestartAppChangeCronExpressionTest3.xml @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<beans xmlns="http://www.springframework.org/schema/beans" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:jdbc="http://www.springframework.org/schema/jdbc" + xsi:schemaLocation=" + http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd + http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc.xsd + http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd"> + + <bean id="quartzDataSource" class="org.apache.commons.dbcp.BasicDataSource"> + <property name="driverClassName" value="org.apache.derby.jdbc.EmbeddedDriver" /> + <!-- refer the embedded database we setup inside SpringQuartzConsumerClusteredAppDatabase.xml --> + <property name="url" value="jdbc:derby:memory:quartz-db" /> + <property name="username" value="sa" /> + <property name="password" value="" /> + </bean> + + <bean id="quartzBean" class="org.apache.camel.component.quartz.QuartzComponent"> + <property name="scheduler" ref="scheduler"/> + </bean> + + <!-- jdbc:embedded-database must come before this so the job store exists --> + <bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> + <property name="dataSource" ref="quartzDataSource"/> + <property name="autoStartup" value="false"/> + <!-- let Camel start --> + <property name="schedulerContextAsMap"> + <!-- hook Camel into Quartz --> + <map> + <entry key="CamelQuartzCamelContext-camelContext" value-ref="camelContext3"/> + </map> + </property> + <property name="quartzProperties"> + <props> + <prop key="org.quartz.scheduler.instanceName">myscheduler</prop> + <prop key="org.quartz.scheduler.instanceId">AUTO</prop> + <prop key="org.quartz.scheduler.skipUpdateCheck">true</prop> + <prop key="org.terracotta.quartz.skipUpdateCheck">true</prop> + <prop key="org.quartz.jobStore.class">org.quartz.impl.jdbcjobstore.JobStoreTX</prop> + <prop key="org.quartz.jobStore.driverDelegateClass">org.quartz.impl.jdbcjobstore.StdJDBCDelegate</prop> + <prop key="org.quartz.jobStore.isClustered">true</prop> + </props> + </property> + </bean> + + <camelContext id="camelContext3" xmlns="http://camel.apache.org/schema/spring"> + <route id="quartzRoute"> + <from uri="quartzBean://app/test?cron=0+0/2+*+1/1+*+?+*&UsingFixedCamelContextName=true"/> + <to uri="log:trigger"/> + <to uri="mock:result"/> + </route> + </camelContext> + +</beans> http://git-wip-us.apache.org/repos/asf/camel/blob/360dc0de/components/camel-quartz2/src/test/java/org/apache/camel/component/quartz2/SpringQuartzPersistentStoreRestartAppChangeOptionsTest.java ---------------------------------------------------------------------- diff --git a/components/camel-quartz2/src/test/java/org/apache/camel/component/quartz2/SpringQuartzPersistentStoreRestartAppChangeOptionsTest.java b/components/camel-quartz2/src/test/java/org/apache/camel/component/quartz2/SpringQuartzPersistentStoreRestartAppChangeOptionsTest.java index fdebbe2..abf74b9 100644 --- a/components/camel-quartz2/src/test/java/org/apache/camel/component/quartz2/SpringQuartzPersistentStoreRestartAppChangeOptionsTest.java +++ b/components/camel-quartz2/src/test/java/org/apache/camel/component/quartz2/SpringQuartzPersistentStoreRestartAppChangeOptionsTest.java @@ -88,6 +88,7 @@ public class SpringQuartzPersistentStoreRestartAppChangeOptionsTest extends Test app2.stop(); assertNotEquals(cronExpression, cronExpression2); + } @Test