[ https://issues.apache.org/jira/browse/CAMEL-7901?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robert Courtney updated CAMEL-7901: ----------------------------------- Summary: org.apache.camel.component.mock.MockEndpoint expectedBodiesReceived fails with "but was: <null>" message (was: MockEndpoint expectedBodiesReceived fails with "but was: <null>" message) > org.apache.camel.component.mock.MockEndpoint expectedBodiesReceived fails > with "but was: <null>" message > -------------------------------------------------------------------------------------------------------- > > Key: CAMEL-7901 > URL: https://issues.apache.org/jira/browse/CAMEL-7901 > Project: Camel > Issue Type: Bug > Components: camel-core > Affects Versions: 2.13.0 > Environment: scala 2.10.3 > camel 2.13.0 > akka 2.3.1 > OSX 10.8.5 > Intellij IDEA 13.0.2 > Reporter: Robert Courtney > Labels: patch > > A small scala + akka + camel test seems to show that the > MockEndpoint.expectedBodiesReceived(final List<?> bodies) method is not > working as expected. > the following scala code excerpt: > val mep = > camelContext.getEndpoint("mock:file").asInstanceOf[MockEndpoint] > camel.template.sendBody(mep, "test body") > println("all exchanges:") > val exchanges = mep.getReceivedExchanges > println(exchanges) > // mep.expectedMessageCount(1) // WORKS > mep.expectedBodiesReceived("test body") // FAILS > mep.assertIsSatisfied > fails with this output: > 2014-10-10 16:41:58,692 DEBUG o.a.c.component.mock.MockEndpoint - > mock://file >>>> 0 : Exchange[Message: test body] with body: test body and > headers:{breadcrumbId=ID-nbns-MacBook-Pro-local-59447-1412919718220-0-1} > all exchanges: > [Exchange[Message: test body]] > 2014-10-10 16:41:58,693 INFO o.a.c.component.mock.MockEndpoint - Asserting: > Endpoint[mock://file] is satisfied > 2014-10-10 16:41:58,694 DEBUG o.a.c.component.mock.MockEndpoint - > mock://file failed and received[1]: Exchange[Message: test body] > mock://file Body of message: 0. Expected: <test body> but was: <null> > java.lang.AssertionError: mock://file Body of message: 0. Expected: <test > body> but was: <null> > at > org.apache.camel.component.mock.MockEndpoint.fail(MockEndpoint.java:1333) > at > org.apache.camel.component.mock.MockEndpoint.assertEquals(MockEndpoint.java:1315) > at > org.apache.camel.component.mock.MockEndpoint$5.run(MockEndpoint.java:628) > at > org.apache.camel.component.mock.MockEndpoint.doAssertIsSatisfied(MockEndpoint.java:394) > at > org.apache.camel.component.mock.MockEndpoint.assertIsSatisfied(MockEndpoint.java:362) > at > org.apache.camel.component.mock.MockEndpoint.assertIsSatisfied(MockEndpoint.java:350) > It looks like the problem is in MockEndpoint.java (line 613), where the > actualBodyValues variable is initialised to an empty ArrayList on each > invocation of expectedBodiesReceived(...), wiping out any values which were > added to this List at line 1220 in performAssertions() > I've looked through the same code in camel-core 2.13.x and 2.14 and the same > code exists there. -- This message was sent by Atlassian JIRA (v6.3.4#6332)