Hi,

Did anyone ever raise a Jira for this issue ?

It seems that @MockEndpointAndSkip still (2.18.0) does not work.

Best regards
Pontus Ullgren

On Tue, 9 Aug 2016 at 02:59 Minh Tran <darth.minhs...@gmail.com> wrote:

> Hi, should I raise a jira for this?
>
> > On 5 Aug 2016, at 10:03 AM, Minh Tran <darth.minhs...@gmail.com> wrote:
> >
> > Hi
> >
> > I am using Camel 2.17.2, Spring Boot 1.3.6 and seeing strange behaviour
> in my unit tests. I’ve simplified it to the following example
> >
> > @RunWith(CamelSpringBootJUnit4ClassRunner.class)
> > @SpringApplicationConfiguration
> > @MockEndpointsAndSkip("direct:b")
> > @DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)
> > public class MockTest {
> >
> >       @Produce(uri = "direct:a")
> >       private ProducerTemplate producer;
> >
> >       @EndpointInject(uri = "mock:end")
> >       private MockEndpoint end;
> >
> >       @EndpointInject(uri = "mock:direct:b")
> >       private MockEndpoint directB;
> >
> >       @Autowired
> >       private CamelContext context;
> >
> >       @Configuration
> >       @EnableAutoConfiguration
> >       public static class Config extends SpringRouteBuilder {
> >
> >               @Override
> >               public void configure() throws Exception {
> >                       from("direct:a").to("direct:b");
> >                       from("direct:b").to("mock:end");
> >               }
> >       }
> >
> >       @Test
> >       public void testMock() throws InterruptedException {
> >               end.expectedMessageCount(0);
> >               directB.expectedBodiesReceived("hello");
> >
> >               producer.sendBody("hello");
> >
> >               MockEndpoint.assertIsSatisfied(context);
> >       }
> >
> >       @Test
> >       public void testMock2() throws InterruptedException {
> >               end.expectedMessageCount(0);
> >               directB.expectedBodiesReceived("hello");
> >
> >               producer.sendBody("hello");
> >
> >               MockEndpoint.assertIsSatisfied(context);
> >       }
> > }
> >
> > testMock and testMock2 are exactly the same and if run individually,
> they pass. However if you run both, the second one will always fail.
> Running them both inside eclipse and from maven command line exhibit the
> same behaviour.
> >
> > The error I get is
> > java.lang.AssertionError: mock://end Received message count. Expected:
> <0> but was: <1>
> >
> > Which must mean that the skipping isn’t working. Here’s the tracer
> output to confirm
> > org.apache.camel.processor.interceptor.Tracer -
> ID-minhmac-local-51406-1470352938165-1-2 >>> (route3) from(direct://a) -->
> direct://b <<< Pattern:InOnly,
> Headers:{breadcrumbId=ID-minhmac-local-51406-1470352938165-1-1},
> BodyType:String, Body:hello
> > org.apache.camel.processor.interceptor.Tracer -
> ID-minhmac-local-51406-1470352938165-1-2 >>> (route4) direct://b -->
> mock://end <<< Pattern:InOnly,
> Headers:{breadcrumbId=ID-minhmac-local-51406-1470352938165-1-1},
> BodyType:String, Body:hello
> >
> >
> >
>
>

Reply via email to