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 >> > >