camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Minh Tran <darth.minhs...@gmail.com>
Subject Re: best way to unit test quartz routes
Date Tue, 06 May 2014 23:01:39 GMT
Thanks, it did give me some hints.

For anyone else interested, the solution I used was to configure the quartz component to not
start the scheduler automatically as follows.

<bean id="quartz2" class="org.apache.camel.component.quartz2.QuartzComponent">
	<property name="autoStartScheduler" value="false"/>
</bean>

In the unit test, inject this component in

@Autowired
private QuartzComponent quartzComponent;

Then during tests, set all expectations first on mocked components as per normal and then
call

quartzComponent.getScheduler().start()

No more race conditions!

On 06/05/2014, at 9:43 PM, Claus Ibsen <claus.ibsen@gmail.com> wrote:

> On Tue, May 6, 2014 at 1:36 PM, Minh Tran <darth.minhster@gmail.com> wrote:
>> No one else unit tests their quartz routes?
>> 
> 
> Well Camel tests its own components. So maybe take a peak there
> https://github.com/apache/camel/tree/master/components/camel-quartz/src/test
> 
>> On 06/05/2014, at 8:51 AM, Minh Tran <darth.minhster@gmail.com> wrote:
>> 
>>> Hi
>>> 
>>> Most of my routes start with either direct or jms. So to test I would use the
@MockEndpoints and set all my expectations then trigger the route using a ProducerTemplate.
But I'm struggling to understand how I can do the same when it's a quartz component at the
start of the route.
>>> 
>>> eg
>>> 
>>> <from uri="quartz:foo"/>
>>> <to uri="bean:bar"/>
>>> 
>>> How do you trigger this from the unit test? I'd like to be able to set all my
expectations before the route gets triggered.
>> 
> 
> 
> 
> -- 
> Claus Ibsen
> -----------------
> Red Hat, Inc.
> Email: cibsen@redhat.com
> Twitter: davsclaus
> Blog: http://davsclaus.com
> Author of Camel in Action: http://www.manning.com/ibsen
> hawtio: http://hawt.io/
> fabric8: http://fabric8.io/


Mime
View raw message