Polishing in CookieWebSessionIdResolver
See gh-31214
This commit is contained in:
@@ -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.
|
||||
@@ -20,6 +20,7 @@ import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.http.ResponseCookie;
|
||||
import org.springframework.util.MultiValueMap;
|
||||
import org.springframework.web.server.ServerWebExchange;
|
||||
import org.springframework.web.testfixture.http.server.reactive.MockServerHttpRequest;
|
||||
import org.springframework.web.testfixture.server.MockServerWebExchange;
|
||||
|
||||
@@ -33,18 +34,14 @@ public class CookieWebSessionIdResolverTests {
|
||||
|
||||
private final CookieWebSessionIdResolver resolver = new CookieWebSessionIdResolver();
|
||||
|
||||
private final ServerWebExchange exchange =
|
||||
MockServerWebExchange.from(MockServerHttpRequest.get("https://example.org/path"));
|
||||
|
||||
|
||||
@Test
|
||||
public void setSessionId() {
|
||||
MockServerHttpRequest request = MockServerHttpRequest.get("https://example.org/path").build();
|
||||
MockServerWebExchange exchange = MockServerWebExchange.from(request);
|
||||
this.resolver.setSessionId(exchange, "123");
|
||||
|
||||
MultiValueMap<String, ResponseCookie> cookies = exchange.getResponse().getCookies();
|
||||
assertThat(cookies).hasSize(1);
|
||||
ResponseCookie cookie = cookies.getFirst(this.resolver.getCookieName());
|
||||
assertThat(cookie).isNotNull();
|
||||
assertThat(cookie.toString()).isEqualTo("SESSION=123; Path=/; Secure; HttpOnly; SameSite=Lax");
|
||||
this.resolver.setSessionId(this.exchange, "123");
|
||||
assertCookieValue("SESSION=123; Path=/; Secure; HttpOnly; SameSite=Lax");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -52,16 +49,17 @@ public class CookieWebSessionIdResolverTests {
|
||||
this.resolver.addCookieInitializer(builder -> builder.domain("example.org"));
|
||||
this.resolver.addCookieInitializer(builder -> builder.sameSite("Strict"));
|
||||
this.resolver.addCookieInitializer(builder -> builder.secure(false));
|
||||
this.resolver.setSessionId(this.exchange, "123");
|
||||
|
||||
MockServerHttpRequest request = MockServerHttpRequest.get("https://example.org/path").build();
|
||||
MockServerWebExchange exchange = MockServerWebExchange.from(request);
|
||||
this.resolver.setSessionId(exchange, "123");
|
||||
assertCookieValue("SESSION=123; Path=/; Domain=example.org; HttpOnly; SameSite=Strict");
|
||||
}
|
||||
|
||||
MultiValueMap<String, ResponseCookie> cookies = exchange.getResponse().getCookies();
|
||||
private void assertCookieValue(String expected) {
|
||||
MultiValueMap<String, ResponseCookie> cookies = this.exchange.getResponse().getCookies();
|
||||
assertThat(cookies).hasSize(1);
|
||||
ResponseCookie cookie = cookies.getFirst(this.resolver.getCookieName());
|
||||
assertThat(cookie).isNotNull();
|
||||
assertThat(cookie.toString()).isEqualTo("SESSION=123; Path=/; Domain=example.org; HttpOnly; SameSite=Strict");
|
||||
assertThat(cookie.toString()).isEqualTo(expected);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user