Support SameSite cookie attribute in MockMvcHttpConnector

Closes gh-30264
This commit is contained in:
Justin Tay 2023-04-01 21:32:40 +08:00 committed by Sam Brannen
parent 90b0f451f0
commit dd97ee4e99
2 changed files with 8 additions and 2 deletions

View File

@ -1,5 +1,5 @@
/*
* Copyright 2002-2022 the original author or authors.
* Copyright 2002-2023 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -197,6 +197,7 @@ public class MockMvcHttpConnector implements ClientHttpConnector {
.path(cookie.getPath())
.secure(cookie.getSecure())
.httpOnly(cookie.isHttpOnly())
.sameSite(cookie.getAttribute("samesite"))
.build();
clientResponse.getCookies().add(httpCookie.getName(), httpCookie);
}

View File

@ -1,5 +1,5 @@
/*
* Copyright 2002-2020 the original author or authors.
* Copyright 2002-2023 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -50,6 +50,7 @@ public class CookieAssertionTests {
CookieLocaleResolver localeResolver = new CookieLocaleResolver();
localeResolver.setCookieDomain("domain");
localeResolver.setCookieHttpOnly(true);
localeResolver.setCookieSameSite("Strict");
client = MockMvcWebTestClient.bindToController(new SimpleController())
.interceptors(new LocaleChangeInterceptor())
@ -107,6 +108,10 @@ public class CookieAssertionTests {
client.get().uri("/").exchange().expectCookie().httpOnly(COOKIE_NAME, true);
}
@Test
public void testSameSite() {
client.get().uri("/").exchange().expectCookie().sameSite(COOKIE_NAME, "Strict");
}
@Controller
private static class SimpleController {