Added the 'header-enricher' element to the core namespace (INT-489).
This commit is contained in:
@@ -7,17 +7,33 @@
|
||||
http://www.springframework.org/schema/integration
|
||||
http://www.springframework.org/schema/integration/spring-integration-1.0.xsd">
|
||||
|
||||
<channel id="input"/>
|
||||
<channel id="filterInput"/>
|
||||
|
||||
<channel id="output">
|
||||
<queue/>
|
||||
</channel>
|
||||
|
||||
<chain input-channel="input" output-channel="output">
|
||||
<channel id="replyOutput">
|
||||
<queue/>
|
||||
</channel>
|
||||
|
||||
<chain input-channel="filterInput" output-channel="output">
|
||||
<filter ref="typeSelector"/>
|
||||
<service-activator ref="testHandler"/>
|
||||
</chain>
|
||||
|
||||
<chain input-channel="headerEnricherInput">
|
||||
<header-enricher reply-channel="replyOutput" correlation-id="ABC">
|
||||
<header name="testValue" value="XYZ"/>
|
||||
<header name="testRef" ref="testHeaderValue"/>
|
||||
</header-enricher>
|
||||
<service-activator ref="testHandler"/>
|
||||
</chain>
|
||||
|
||||
<beans:bean id="testHeaderValue" class="java.lang.Integer">
|
||||
<beans:constructor-arg value="123"/>
|
||||
</beans:bean>
|
||||
|
||||
<beans:bean id="typeSelector" class="org.springframework.integration.selector.PayloadTypeSelector">
|
||||
<beans:constructor-arg value="java.lang.String"/>
|
||||
</beans:bean>
|
||||
|
||||
@@ -38,19 +38,27 @@ import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
|
||||
public class ChainParserTests extends AbstractJUnit4SpringContextTests {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("input")
|
||||
private MessageChannel inputChannel;
|
||||
@Qualifier("filterInput")
|
||||
private MessageChannel filterInput;
|
||||
|
||||
@Autowired
|
||||
@Qualifier("headerEnricherInput")
|
||||
private MessageChannel headerEnricherInput;
|
||||
|
||||
@Autowired
|
||||
@Qualifier("output")
|
||||
private PollableChannel outputChannel;
|
||||
private PollableChannel output;
|
||||
|
||||
@Autowired
|
||||
@Qualifier("replyOutput")
|
||||
private PollableChannel replyOutput;
|
||||
|
||||
|
||||
@Test
|
||||
public void testChainWithAcceptingFilter() {
|
||||
public void chainWithAcceptingFilter() {
|
||||
Message<?> message = MessageBuilder.withPayload("test").build();
|
||||
this.inputChannel.send(message);
|
||||
Message<?> reply = this.outputChannel.receive(0);
|
||||
this.filterInput.send(message);
|
||||
Message<?> reply = this.output.receive(0);
|
||||
assertNotNull(reply);
|
||||
assertEquals("foo", reply.getPayload());
|
||||
}
|
||||
@@ -58,9 +66,21 @@ public class ChainParserTests extends AbstractJUnit4SpringContextTests {
|
||||
@Test
|
||||
public void chainWithRejectingFilter() {
|
||||
Message<?> message = MessageBuilder.withPayload(123).build();
|
||||
this.inputChannel.send(message);
|
||||
Message<?> reply = this.outputChannel.receive(0);
|
||||
this.filterInput.send(message);
|
||||
Message<?> reply = this.output.receive(0);
|
||||
assertNull(reply);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void chainWithHeaderEnricher() {
|
||||
Message<?> message = MessageBuilder.withPayload(123).build();
|
||||
this.headerEnricherInput.send(message);
|
||||
Message<?> reply = this.replyOutput.receive(0);
|
||||
assertNotNull(reply);
|
||||
assertEquals("foo", reply.getPayload());
|
||||
assertEquals("ABC", reply.getHeaders().getCorrelationId());
|
||||
assertEquals("XYZ", reply.getHeaders().get("testValue"));
|
||||
assertEquals(123, reply.getHeaders().get("testRef"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user