1
0
mirror of synced 2026-08-05 17:57:15 +00:00

Use UserWebTestClientConfigurer

Closes gh-17496
This commit is contained in:
Rob Winch
2025-07-07 11:37:17 -05:00
parent dbb3b7e1f5
commit e48fdd5ed4
7 changed files with 18 additions and 181 deletions
@@ -69,31 +69,11 @@ public class ServerX509AuthenticationConverterTests {
@Test
public void shouldReturnAuthenticationForValidCertificate() {
givenExtractPrincipalWillReturn();
this.request.sslInfo(new MockSslInfo(this.certificate));
this.request.sslInfo(SslInfo.from("123", this.certificate));
Authentication authentication = this.converter.convert(MockServerWebExchange.from(this.request.build()))
.block();
assertThat(authentication.getName()).isEqualTo("Luke Taylor");
assertThat(authentication.getCredentials()).isEqualTo(this.certificate);
}
class MockSslInfo implements SslInfo {
private final X509Certificate[] peerCertificates;
MockSslInfo(X509Certificate... peerCertificates) {
this.peerCertificates = peerCertificates;
}
@Override
public String getSessionId() {
return "mock-session-id";
}
@Override
public X509Certificate[] getPeerCertificates() {
return this.peerCertificates;
}
}
}
@@ -16,7 +16,6 @@
package org.springframework.security.web.server.csrf;
import java.security.cert.X509Certificate;
import java.time.Duration;
import java.time.temporal.ChronoUnit;
@@ -179,7 +178,7 @@ class CookieServerCsrfTokenRepositoryTests {
@Test
void saveTokenWhenSslInfoPresentThenSecure() {
this.request.sslInfo(new MockSslInfo());
this.request.sslInfo(SslInfo.from("sessionId"));
MockServerWebExchange exchange = MockServerWebExchange.from(this.request);
this.csrfTokenRepository.saveToken(exchange, createToken()).block();
ResponseCookie cookie = exchange.getResponse().getCookies().getFirst(this.expectedCookieName);
@@ -239,7 +238,7 @@ class CookieServerCsrfTokenRepositoryTests {
@Test
void saveTokenWhenSecureFlagFalseAndSslInfoThenNotSecure() {
MockServerWebExchange exchange = MockServerWebExchange.from(this.request);
this.request.sslInfo(new MockSslInfo());
this.request.sslInfo(SslInfo.from("sessionId"));
this.csrfTokenRepository.setSecure(false);
this.csrfTokenRepository.saveToken(exchange, createToken()).block();
ResponseCookie cookie = exchange.getResponse().getCookies().getFirst(this.expectedCookieName);
@@ -250,7 +249,7 @@ class CookieServerCsrfTokenRepositoryTests {
@Test
void saveTokenWhenSecureFlagFalseAndSslInfoThenNotSecureUsingCustomizer() {
MockServerWebExchange exchange = MockServerWebExchange.from(this.request);
this.request.sslInfo(new MockSslInfo());
this.request.sslInfo(SslInfo.from("sessionId"));
this.csrfTokenRepository.setCookieCustomizer((customizer) -> customizer.secure(false));
this.csrfTokenRepository.saveToken(exchange, createToken()).block();
ResponseCookie cookie = exchange.getResponse().getCookies().getFirst(this.expectedCookieName);
@@ -401,18 +400,4 @@ class CookieServerCsrfTokenRepositoryTests {
return new DefaultCsrfToken(headerName, parameterName, tokenValue);
}
static class MockSslInfo implements SslInfo {
@Override
public String getSessionId() {
return "sessionId";
}
@Override
public X509Certificate[] getPeerCertificates() {
return new X509Certificate[] {};
}
}
}