Merge pull request #1373 from lc-nyovchev/master

HttpOnly Cookie Result Matcher
This commit is contained in:
Juergen Hoeller
2017-04-27 15:20:07 +02:00
committed by GitHub
2 changed files with 16 additions and 2 deletions

View File

@@ -198,4 +198,14 @@ public class CookieResultMatchers {
}; };
} }
/**
* Assert whether the cookie must be httpOnly.
*/
public ResultMatcher httpOnly(final String name, final boolean httpOnly) {
return result -> {
Cookie cookie = result.getResponse().getCookie(name);
assertEquals("Response cookie httpOnly", httpOnly, cookie.isHttpOnly());
};
}
} }

View File

@@ -46,7 +46,7 @@ public class CookieAssertionTests {
public void setup() { public void setup() {
CookieLocaleResolver localeResolver = new CookieLocaleResolver(); CookieLocaleResolver localeResolver = new CookieLocaleResolver();
localeResolver.setCookieDomain("domain"); localeResolver.setCookieDomain("domain");
localeResolver.setCookieHttpOnly(true);
this.mockMvc = standaloneSetup(new SimpleController()) this.mockMvc = standaloneSetup(new SimpleController())
.addInterceptors(new LocaleChangeInterceptor()) .addInterceptors(new LocaleChangeInterceptor())
.setLocaleResolver(localeResolver) .setLocaleResolver(localeResolver)
@@ -62,7 +62,7 @@ public class CookieAssertionTests {
@Test @Test
public void testNotExists() throws Exception { public void testNotExists() throws Exception {
this.mockMvc.perform(get("/")).andExpect(cookie().doesNotExist("unknowCookie")); this.mockMvc.perform(get("/")).andExpect(cookie().doesNotExist("unknownCookie"));
} }
@Test @Test
@@ -101,6 +101,10 @@ public class CookieAssertionTests {
this.mockMvc.perform(get("/")).andExpect(cookie().secure(COOKIE_NAME, false)); this.mockMvc.perform(get("/")).andExpect(cookie().secure(COOKIE_NAME, false));
} }
@Test
public void testHttpOnly() throws Exception {
this.mockMvc.perform(get("/")).andExpect(cookie().httpOnly(COOKIE_NAME, true));
}
@Controller @Controller
private static class SimpleController { private static class SimpleController {