Add doesExist assertion method to HeaderResultMatchers

This commit is contained in:
Neonailol 2018-01-22 18:54:28 +03:00 committed by Rossen Stoyanchev
parent cf812ba831
commit 81ca1f7c2b
2 changed files with 19 additions and 0 deletions

View File

@ -99,6 +99,15 @@ public class HeaderResultMatchers {
!result.getResponse().containsHeader(name));
}
/**
* Assert that the named response header does exist.
* @since 4.3
*/
public ResultMatcher doesExist(final String name) {
return result -> assertTrue("Response should contain header '" + name + "'",
result.getResponse().containsHeader(name));
}
/**
* Assert the primary value of the named response header as a {@code long}.
* <p>The {@link ResultMatcher} returned by this method throws an

View File

@ -154,6 +154,16 @@ public class HeaderAssertionTests {
this.mockMvc.perform(get("/persons/1")).andExpect(header().doesNotExist(LAST_MODIFIED));
}
@Test
public void doesExist() throws Exception {
this.mockMvc.perform(get("/persons/1")).andExpect(header().doesExist(LAST_MODIFIED));
}
@Test(expected = AssertionError.class) // SPR-10771
public void doesExistFail() throws Exception {
this.mockMvc.perform(get("/persons/1")).andExpect(header().doesExist("X-Custom-Header"));
}
@Test
public void stringWithIncorrectResponseHeaderValue() throws Exception {
assertIncorrectResponseHeader(header().string(LAST_MODIFIED, secondLater), secondLater);