[ 
https://issues.apache.org/jira/browse/CAMEL-15037?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17103900#comment-17103900
 ] 

michael elbaz edited comment on CAMEL-15037 at 5/10/20, 6:03 PM:
-----------------------------------------------------------------

Here a reproductible case i see it's happen only when using producer template


{code:java}
package fr.aphp.referential.load.route;

import org.apache.camel.EndpointInject;
import org.apache.camel.Produce;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.RoutesBuilder;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.test.junit4.CamelTestSupport;
import org.junit.Test;

public class HeadersTest extends CamelTestSupport {
    @Produce(value = "direct:in")
    protected ProducerTemplate in;

    @EndpointInject(value = "mock:out")
    private MockEndpoint out;

    @Override
    protected RoutesBuilder createRouteBuilder() throws Exception {
        return new RouteBuilder() {
            @Override
            public void configure() throws Exception {
                from(in.getDefaultEndpoint())
                        .to(out);
            }
        };
    }

    @Test
    public void test() throws InterruptedException {
        in.sendBody("test");
        out.expectedHeaderReceived("header", "value"); // Must fail but not 
(flag)
        assertMockEndpointsSatisfied();
    }
}

{code}



was (Author: michael992):
Here a reproductible case i see it's happen only when using producer template


{code:java}
package fr.aphp.referential.load.route;

import org.apache.camel.EndpointInject;
import org.apache.camel.Produce;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.RoutesBuilder;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.test.junit4.CamelTestSupport;
import org.junit.Test;

public class HeadersTest extends CamelTestSupport {
    @Produce(value = "direct:in")
    protected ProducerTemplate in;

    @EndpointInject(value = "mock:out")
    private MockEndpoint out;

    @Override
    protected RoutesBuilder createRouteBuilder() throws Exception {
        return new RouteBuilder() {
            @Override
            public void configure() throws Exception {
                from(in.getDefaultEndpoint())
                        .to(out);
            }
        };
    }

    @Test
    public void test() throws InterruptedException {
        in.sendBody("test");
        out.expectedHeaderReceived("header", "value");
        assertMockEndpointsSatisfied();
    }
}

{code}


> CLONE - expectedHeaderReceived should failed when no message is received
> ------------------------------------------------------------------------
>
>                 Key: CAMEL-15037
>                 URL: https://issues.apache.org/jira/browse/CAMEL-15037
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-test
>    Affects Versions: 3.2.0
>            Reporter: michael elbaz
>            Assignee: Claus Ibsen
>            Priority: Minor
>
> I reopen this one because this is still not working as expected on latest 
> camel version (3.2.0) 
> This test should fail:
> {code:java}
> import org.apache.camel.RoutesBuilder;
> import org.apache.camel.builder.RouteBuilder;
> import org.apache.camel.component.mock.MockEndpoint;
> import org.apache.camel.test.junit4.CamelTestSupport;
> import org.assertj.core.api.Assertions;
> import org.junit.Test;
> public class MyRouteTest extends CamelTestSupport {
>   private static final String ROUTE_ID = "mytest";
>   @Override
>   public RoutesBuilder createRouteBuilder() throws Exception {
>     return new RouteBuilder() {
>       @Override
>       public void configure() throws Exception {
>         from("direct:foo")
>           .id(ROUTE_ID)
>           .to("mock:extract");
>       }
>     };
>   }
>   @Test
>   public void shouldFail() throws InterruptedException {
>     // given
>     final MockEndpoint mock = getMockEndpoint("mock:extract");
>     // declare
>     mock.expectedHeaderReceived("foo", "bar");
>     // when
> //template.sendBody("direct:foo", "test");
>     // then
>     mock.assertIsSatisfied();
>   }
> }
> {code}
> Because we were expecting some headers, but none headers were received



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to