camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mick Knutson <mknut...@baselogic.com>
Subject Re: frustration with multiple mock endpoints in 1 unit test.
Date Sun, 23 Aug 2009 12:09:12 GMT
Here is the 1 Route file I have:

    @Override
    public void configure() throws Exception {
        log.info("//@@@@@ CLIENT ROUTES
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@//");


//from("activemq:Consumer.1.VirtualTopic.Table.1").wireTap("mock://resultAllClients").to("mock:resultClient1");


from("seda:resultClient1").wireTap("mock://resultAllClients").to("mock:resultClient1");

from("seda:resultClient2").wireTap("mock://resultAllClients").to("mock:resultClient2");

from("seda:resultClient3").wireTap("mock://resultAllClients").to("mock:resultClient3");

from("seda:resultClient4").wireTap("mock://resultAllClients").to("mock:resultClient4");

from("seda:resultClient5").wireTap("mock://resultAllClients").to("mock:resultClient5");

from("seda:resultClient6").wireTap("mock://resultAllClients").to("mock:resultClient6");

from("seda:resultClient7").wireTap("mock://resultAllClients").to("mock:resultClient7");

from("seda:resultClient8").wireTap("mock://resultAllClients").to("mock:resultClient8");

from("seda:resultClient9").wireTap("mock://resultAllClients").to("mock:resultClient9");

from("seda:resultClient10").wireTap("mock://resultAllClients").to("mock:resultClient10");

from("seda:resultClient11").wireTap("mock://resultAllClients").to("mock:resultClient11");

    } // end configure


---
Thank You…

Mick Knutson, President

BASE Logic, Inc.
Enterprise Architecture, Design, Mentoring & Agile Consulting
p. (866) BLiNC-411: (254-6241-1)
f. (415) 685-4233

Website: http://baselogic.com
Linked IN: http://linkedin.com/in/mickknutson
Vacation Rental: http://tahoe.baselogic.com
---



On Sun, Aug 23, 2009 at 3:14 AM, Willem Jiang <willem.jiang@gmail.com>wrote:

> Hi Mick,
>
> Can you show me the route rule ?
> It will help us to trace the issue :)
>
> Willem
>
>
> Mick Knutson wrote:
>
>> I have a unit test that has a wiretap that routes the message to a mock
>> endpoint.
>> Here is what works:
>>
>>    @EndpointInject(uri = "mock:resultAllClients")
>>    protected MockEndpoint resultAllClients;
>>
>>    @EndpointInject(uri = "mock:resultClient1")
>>    protected MockEndpoint resultClient1;
>>    @EndpointInject(uri = "mock:resultClient2")
>>    protected MockEndpoint resultClient2;
>>    @EndpointInject(uri = "mock:resultClient3")
>>    protected MockEndpoint resultClient3;
>>    @EndpointInject(uri = "mock:resultClient4")
>>    protected MockEndpoint resultClient4;
>>
>>    @Test
>>    public void testSendBetMessage() throws Exception {
>>        log.info("Send a test message to Table Service");
>>
>>        //resultAllClients.expectedMinimumMessageCount(3);
>>        resultClient1.expectedMessageCount(1);
>>        resultClient2.expectedMessageCount(1);
>>        //resultClient3.expectedMessageCount(1);
>>        //resultClient4.expectedMessageCount(1);
>>
>>
>>        // Send the test message to make Server Service create our Status
>> Message
>>        producerTemplate.sendBody("jms:queue:bets",
>>                ExchangePattern.InOnly, 22);
>>
>>        // now lets assert that the mock endpoint received messages
>>        resultClient1.assertIsSatisfied();
>>        resultClient2.assertIsSatisfied();
>>        //resultClient3.assertIsSatisfied();
>>        //resultClient4.assertIsSatisfied();
>>
>>        //resultAllClients.assertIsSatisfied();
>>        log.info("XXXXXXXXXX DONE
>> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
>>
>>    }
>>
>>    /*@After
>>    public void finalizeTests() {
>>        // resultAllClients.reset();
>>        resultClient1.reset();
>>        resultClient2.reset();
>>        resultClient3.reset();
>>        // resultClient4.reset();
>>    }*/
>>
>>
>>
>> This is in 1 unit test class and the way it is above has all assertions
>> pass.
>> If any of the following things change, I get:
>>
>> java.lang.AssertionError: mock://resultClient1 Received message count.
>> Expected: <1> but was: <0>
>>
>>
>> 1. If I uncomment the finalizeTests() method, the error starts.
>>
>> 2. If I uncomment resultClient3, resultClient4 it might start working,
>> then
>> randomly it will show up again and I have to comment them out in order for
>> the test to pass again.
>>
>>
>> Is there some bug/defect in the Mock that I have not googled?
>>
>>
>>
>> ---
>> Thank You…
>>
>> Mick Knutson, President
>>
>> BASE Logic, Inc.
>> Enterprise Architecture, Design, Mentoring & Agile Consulting
>> p. (866) BLiNC-411: (254-6241-1)
>> f. (415) 685-4233
>>
>> Website: http://baselogic.com
>> Linked IN: http://linkedin.com/in/mickknutson
>> Vacation Rental: http://tahoe.baselogic.com
>> ---
>>
>>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message