[
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:15 PM:
-----------------------------------------------------------------
Here a reproductible test 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("timer:test?repeatCount=1") // This one will work as
expected
from(in.getDefaultEndpoint())
.to(out);
}
};
}
@Test
public void test() throws InterruptedException {
in.sendBody("test");
out.expectedHeaderReceived("header", "value"); // Must fail but not :|
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"); // Must fail but not :|
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)