I started to create a blog to talk about what I am trying to do. I also talk
about the current issues I have for testing.

http://www.baselogic.com/blog/java/testing-activemq-virtualtopics-using-camel-and-junit



---
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 Mon, Aug 24, 2009 at 9:47 AM, Mick Knutson <mknut...@baselogic.com>wrote:

> I appreciate your observation, as all too often the net is, and can be
> misinterpreted. Again, please accept my apology.
>
> I am currently writing something more formal, that I will be able to use
> now, and going forward, and again, I respectfully appreciate everyone's help
> and time.
>
> ---
> 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 Mon, Aug 24, 2009 at 9:40 AM, Claus Ibsen <claus.ib...@gmail.com>wrote:
>
>> Hi
>>
>> Thanks for understanding.
>>
>> And I may have been a bit harsh but its just to easy to write and
>> press the send button :)
>> Lets start over when we got a better understanding what you want to do
>> so we can give better advice.
>>
>> And btw I am not a moderator or hold any special privileges or
>> anything at this mailinglist.
>> What I did write was my personal observations.
>>
>>
>> On Mon, Aug 24, 2009 at 3:04 PM, Mick Knutson<mknut...@baselogic.com>
>> wrote:
>> > 1. I am going to create a blog as I promised, and I am going to start
>> > writing it this minute to help describe the entire picture and all the
>> piece
>> > involved. Sorry I have not done this before.
>> >
>> > 2. I feel incredibly _bad_ that I have ever come across as yelling
>> > _ever_.... I would have never consciously done so, and am extremely
>> grateful
>> > for your help. Again, very, very sorry...
>> >
>> >
>> >
>> > ---
>> > 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 Mon, Aug 24, 2009 at 3:20 AM, Claus Ibsen <claus.ib...@gmail.com>
>> wrote:
>> >
>> >> Hi
>> >>
>> >> Maybe you should start over and explain to us what you want to test?
>> >>
>> >> Its not easy / motivating to help when people shout and post all kind
>> >> of code and expecting the community to use time / take time to dig
>> >> into a haystack.
>> >> Sorry I could not resist stating this.
>> >>
>> >> So I suggest to start easy and create a small unit test and maybe
>> >> instead of JMS try out with pure seda to get the hang of the mock
>> >> endpoints and how to use them. Then later write unit tests based on
>> >> JMS.
>> >>
>> >>
>> >>
>> >>
>> >> On Mon, Aug 24, 2009 at 8:55 AM, Willem Jiang<willem.ji...@gmail.com>
>> >> wrote:
>> >> > Hi
>> >> >
>> >> > I still don't know how do you send the message to
>> "seda:resultClient1",
>> >> > "seda:resultClient2" etc.
>> >> > BTW
>> >> >
>> >> > "seda:resultClient1" is not the same endpoint of "mock:resultClient1"
>> >> >
>> >> > Willem
>> >> > Mick Knutson wrote:
>> >> >>
>> >> >> There is only 1 test right now, but I added:
>> >> >>
>> >> >>    @Before
>> >> >>    public void testBefore() throws Exception {
>> >> >>        log.info("*** Before ***");
>> >> >>        //assertNotNull(context);
>> >> >>
>> >> >>        resultClient1.reset();
>> >> >>        resultClient2.reset();
>> >> >>        resultClient3.reset();
>> >> >>        resultClient4.reset();
>> >> >>        //resultAllClients.reset();
>> >> >>    }
>> >> >>
>> >> >> already. But I sent another mail a second ago about the tracer.
>> >> >>
>> >> >> The strange issue is not getting too many message, but the FIRST
>> mock
>> >> just
>> >> >> not getting any messages.
>> >> >>
>> >> >> I have even played with commenting out client 1, then I get client 2
>> >> stops
>> >> >> getting message randomly. I say randomly, because I have had the
>> test
>> >> >> working, then I change nothing. But I try to run through 10+
>> iterations
>> >> >> through the same test. It will work for several, then just stop.
>> Then it
>> >> >> might start again. if I keep going, but most of the time not.
>> >> >>
>> >> >> I am looking for a pattern to deduce the issue, but it is alluding
>> me.
>> >> >>
>> >> >>
>> >> >>
>> >> >> ---
>> >> >> 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 6:14 AM, Willem Jiang
>> >> >> <willem.ji...@gmail.com>wrote:
>> >> >>
>> >> >>> 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.
>> >> >>>>
>> >> >>> Since the mock endpoints are injected into your unit test, if there
>> are
>> >> >>> more than one unit test method , you need to reset the mock
>> endpoints
>> >> to
>> >> >>> make sure the message count values are right.
>> >> >>>
>> >> >>>
>> >> >>>> 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.
>> >> >>>>
>> >> >>> I don't know how your mock:resultClient3, mock:resultClient4 can
>> >> receive
>> >> >>> the message from the route file that you showed me.
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>>> 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
>> >> >>>> ---
>> >> >>>>
>> >> >>>>
>> >> >>> Willem
>> >> >>>
>> >> >>
>> >> >
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Claus Ibsen
>> >> Apache Camel Committer
>> >>
>> >> Open Source Integration: http://fusesource.com
>> >> Blog: http://davsclaus.blogspot.com/
>> >> Twitter: http://twitter.com/davsclaus
>> >>
>> >
>>
>>
>>
>> --
>> Claus Ibsen
>> Apache Camel Committer
>>
>> Open Source Integration: http://fusesource.com
>> Blog: http://davsclaus.blogspot.com/
>> Twitter: http://twitter.com/davsclaus
>>
>
>

Reply via email to