Class HeaderMatcher<T>

java.lang.Object
org.hamcrest.BaseMatcher<T>
org.hamcrest.TypeSafeMatcher<Message<T>>
org.springframework.integration.test.matcher.HeaderMatcher<T>
All Implemented Interfaces:
org.hamcrest.Matcher<Message<T>>, org.hamcrest.SelfDescribing

public final class HeaderMatcher<T>
extends org.hamcrest.TypeSafeMatcher<Message<T>>
Are the MessageHeaders of a Message containing any entry or multiple that match?

For example using Assert.assertThat(Object, Matcher) for a single entry:

 
 ANY_HEADER_KEY = "foo";
 ANY_HEADER_VALUE = "bar";
 assertThat(message, hasEntry(ANY_HEADER_KEY, ANY_HEADER_VALUE));
 assertThat(message, hasEntry(ANY_HEADER_KEY, is(String.class)));
 assertThat(message, hasEntry(ANY_HEADER_KEY, notNullValue()));
 assertThat(message, hasEntry(ANY_HEADER_KEY, is(ANY_HEADER_VALUE)));
 
 

For multiple entries to match all:

 
 Map<String, Object> expectedInHeaderMap = new HashMap<String, Object>();
 expectedInHeaderMap.put(ANY_HEADER_KEY, ANY_HEADER_VALUE);
 expectedInHeaderMap.put(OTHER_HEADER_KEY, is(OTHER_HEADER_VALUE));
 assertThat(message, HeaderMatcher.hasAllEntries(expectedInHeaderMap));
 
 

For a single key:

 ANY_HEADER_KEY = "foo";
 assertThat(message, HeaderMatcher.hasKey(ANY_HEADER_KEY));
 
Author:
Alex Peters, Iwein Fuld, Artem Bilan, Gary Russell