INT-1919 added support for treating '*' as literal value via 'pattern-match' boolean attribute on header-filter with default value 'true'
This commit is contained in:
@@ -14,5 +14,11 @@
|
||||
|
||||
|
||||
<header-filter input-channel="inputC" header-names="ba*, *oo"/>
|
||||
|
||||
|
||||
<header-filter input-channel="inputD" header-names="bar*, *oo"/>
|
||||
|
||||
|
||||
<header-filter input-channel="inputE" pattern-match="false" header-names="bar*, foo"/>
|
||||
|
||||
</beans:beans>
|
||||
|
||||
@@ -47,6 +47,12 @@ public class HeaderFilterParserTests {
|
||||
|
||||
@Autowired
|
||||
private MessageChannel inputC;
|
||||
|
||||
@Autowired
|
||||
private MessageChannel inputD;
|
||||
|
||||
@Autowired
|
||||
private MessageChannel inputE;
|
||||
|
||||
@Test
|
||||
public void verifyHeadersRemoved() {
|
||||
@@ -113,5 +119,49 @@ public class HeaderFilterParserTests {
|
||||
assertNull(result.getHeaders().get("goo"));
|
||||
assertNotNull(result.getHeaders().get("e"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void verifyHeadersRemovedWhereHeaderNameContainsWildCard() {
|
||||
QueueChannel replyChannel = new QueueChannel();
|
||||
Message<?> message = MessageBuilder.withPayload("test")
|
||||
.setReplyChannel(replyChannel)
|
||||
.setHeader("bar*", 1)
|
||||
.setHeader("bart", 2)
|
||||
.setHeader("foo", 3)
|
||||
.setHeader("goo", 4)
|
||||
.setHeader("e", 5)
|
||||
.build();
|
||||
inputD.send(message);
|
||||
Message<?> result = replyChannel.receive(0);
|
||||
assertNotNull(result);
|
||||
assertEquals("test", result.getPayload());
|
||||
assertNull(result.getHeaders().get("bar*"));
|
||||
assertNull(result.getHeaders().get("bart"));
|
||||
assertNull(result.getHeaders().get("foo"));
|
||||
assertNull(result.getHeaders().get("goo"));
|
||||
assertNotNull(result.getHeaders().get("e"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void verifyHeadersRemovedWhereHeaderNameIsLiteral() {
|
||||
QueueChannel replyChannel = new QueueChannel();
|
||||
Message<?> message = MessageBuilder.withPayload("test")
|
||||
.setReplyChannel(replyChannel)
|
||||
.setHeader("bar*", 1)
|
||||
.setHeader("bart", 2)
|
||||
.setHeader("foo", 3)
|
||||
.setHeader("goo", 4)
|
||||
.setHeader("e", 5)
|
||||
.build();
|
||||
inputE.send(message);
|
||||
Message<?> result = replyChannel.receive(0);
|
||||
assertNotNull(result);
|
||||
assertEquals("test", result.getPayload());
|
||||
assertNull(result.getHeaders().get("bar*"));
|
||||
assertNotNull(result.getHeaders().get("bart"));
|
||||
assertNull(result.getHeaders().get("foo"));
|
||||
assertNotNull(result.getHeaders().get("goo"));
|
||||
assertNotNull(result.getHeaders().get("e"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user