Any thoughts on this issue or should I just create a ticket for it?

Kind regards,

Geert

On Tue, Nov 4, 2014 at 11:13 AM, Geert Vanheusden <geer...@aviovision.com>
wrote:

> Hi Guys,
>
> I wanted to mock a "direct-vm" endpoint with the "block=true" option
> but it fails.
>
> Here you can find a unit test to reproduce this:
>
> ===================================
>
> import org.apache.camel.builder.RouteBuilder;
> import org.apache.camel.component.mock.MockEndpoint;
> import org.apache.camel.impl.DefaultExchange;
> import org.apache.camel.test.junit4.CamelTestSupport;
> import org.junit.Test;
>
> public class DirectVmTest extends CamelTestSupport {
>
>     @Override
>     protected RouteBuilder createRouteBuilder() throws Exception {
>         return new RouteBuilder() {
>
>             @Override
>             public void configure() throws Exception {
>                 from("direct:in1")
>                         .to("direct-vm:out1");
>
>                 from("direct:in2")
>                         .to("direct-vm:out2?block=true");
>             }
>
>         };
>     }
>
>     @Override
>     public String isMockEndpointsAndSkip() {
>         return "(direct-vm:out1|direct-vm:out2)";
>     }
>
> // @Override
> // public String isMockEndpointsAndSkip() {
> // return "*";
> // }
>
> // @Override
> // public String isMockEndpoints() {
> // return "(direct-vm:out1|direct-vm:out2)";
> // }
>
> // @Override
> // public String isMockEndpoints() {
> // return "*";
> // }
>
>     @Test
>     public void directVmEndpointShouldBeMocked() throws
> InterruptedException {
>         MockEndpoint mockEndpoint = getMockEndpoint("mock:direct-vm:out1");
>         mockEndpoint.expectedMessageCount(1);
>
>         template.send("direct:in1", new DefaultExchange(context));
>
>         mockEndpoint.assertIsSatisfied();
>     }
>
>     @Test
>     public void directVmEndpointWithBlockShouldBeMocked() throws
> InterruptedException {
>         MockEndpoint mockEndpoint = getMockEndpoint("mock:direct-vm:out2");
>         mockEndpoint.expectedMessageCount(1);
>
>         template.send("direct:in2", new DefaultExchange(context));
>
>         mockEndpoint.assertIsSatisfied();
>     }
> }
>
> ===================================
>
> The first test without the block succeeds but the second one with the
> block option fails.
>
> I tested it on version 2.14.0.
>
> Please also try to uncomment the code block to enable auto mocking and
> see the different test results.
>
> Seems to me like a bug. What do you guys think?
>
> Kind regards,
>
> Geert
>

Reply via email to