sometimes it is failing with
mock://result Received message count. Expected: <1> but was: <2>
java.lang.AssertionError: mock://result Received message count. Expected: <1> but was: <2>
the problem is that in fact a lot of exchanges are created.
In org.apache.camel.component.mock.MockEndpoint.doAssertIsSatisfied(long), it is waiting to reach at least the given expected number in the provided timeout.
As soon as it is reached, it is doing the assertion.
But between the assertion done in the line just after, a new message may arrive.
You can notice it by putting a Thread.sleep(1000) for instance before the assertEquals, with PubNubTest it wil lalways fail and there will be a lo tmore messages.
So 3 possibilities:
- the test should expect a minimum number of messages
- the route used in test should be modified to trigger a single message
- the camel product should not create several messages and in this case it is a product bug