提交 ce0b012f 编写于 作者: S Sam Brannen

Polish contribution

See gh-23769
上级 9b208761
......@@ -46,7 +46,7 @@ public class MockCookie extends Cookie {
/**
* Constructor with the cookie name and value.
* Construct a new {@link MockCookie} with the supplied name and value.
* @param name the name
* @param value the value
* @see Cookie#Cookie(String, String)
......@@ -56,14 +56,17 @@ public class MockCookie extends Cookie {
}
/**
* Add the "Expires" attribute to the cookie.
* Set the "Expires" attribute for this cookie.
* @since 5.1.11
*/
public void setExpires(@Nullable ZonedDateTime expires) {
this.expires = expires;
}
/**
* Return the "Expires" attribute, or {@code null} if not set.
* Get the "Expires" attribute for this cookie.
* @since 5.1.11
* @return the "Expires" attribute for this cookie, or {@code null} if not set
*/
@Nullable
public ZonedDateTime getExpires() {
......@@ -71,10 +74,10 @@ public class MockCookie extends Cookie {
}
/**
* Add the "SameSite" attribute to the cookie.
* Set the "SameSite" attribute for this cookie.
* <p>This limits the scope of the cookie such that it will only be attached
* to same site requests if {@code "Strict"} or cross-site requests if
* {@code "Lax"}.
* to same-site requests if the supplied value is {@code "Strict"} or cross-site
* requests if the supplied value is {@code "Lax"}.
* @see <a href="https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis#section-4.1.2.7">RFC6265 bis</a>
*/
public void setSameSite(@Nullable String sameSite) {
......@@ -82,7 +85,8 @@ public class MockCookie extends Cookie {
}
/**
* Return the "SameSite" attribute, or {@code null} if not set.
* Get the "SameSite" attribute for this cookie.
* @return the "SameSite" attribute for this cookie, or {@code null} if not set
*/
@Nullable
public String getSameSite() {
......@@ -91,7 +95,7 @@ public class MockCookie extends Cookie {
/**
* Factory method that parses the value of a "Set-Cookie" header.
* Factory method that parses the value of the supplied "Set-Cookie" header.
* @param setCookieHeader the "Set-Cookie" value; never {@code null} or empty
* @return the created cookie
*/
......
......@@ -16,11 +16,11 @@
package org.springframework.mock.web;
import org.junit.jupiter.api.Test;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
......@@ -86,15 +86,15 @@ class MockCookieTests {
@Test
void parseNullHeader() {
assertThatIllegalArgumentException().isThrownBy(() ->
MockCookie.parse(null))
assertThatIllegalArgumentException()
.isThrownBy(() -> MockCookie.parse(null))
.withMessageContaining("Set-Cookie header must not be null");
}
@Test
void parseInvalidHeader() {
assertThatIllegalArgumentException().isThrownBy(() ->
MockCookie.parse("BOOM"))
assertThatIllegalArgumentException()
.isThrownBy(() -> MockCookie.parse("BOOM"))
.withMessageContaining("Invalid Set-Cookie header 'BOOM'");
}
......@@ -102,8 +102,8 @@ class MockCookieTests {
void parseInvalidAttribute() {
String header = "SESSION=123; Path=";
assertThatIllegalArgumentException().isThrownBy(() ->
MockCookie.parse(header))
assertThatIllegalArgumentException()
.isThrownBy(() -> MockCookie.parse(header))
.withMessageContaining("No value in attribute 'Path' for Set-Cookie header '" + header + "'");
}
......
......@@ -350,6 +350,18 @@ class MockHttpServletResponseTests {
assertPrimarySessionCookie("999");
}
/**
* @since 5.1.11
*/
@Test
void setCookieHeaderWithExpiresAttribute() {
String cookieValue = "SESSION=123; Path=/; Max-Age=100; Expires=Tue, 8 Oct 2019 19:50:00 GMT; Secure; " +
"HttpOnly; SameSite=Lax";
response.setHeader(HttpHeaders.SET_COOKIE, cookieValue);
assertNumCookies(1);
assertThat(response.getHeader(HttpHeaders.SET_COOKIE)).isEqualTo(cookieValue);
}
@Test
void addCookieHeader() {
response.addHeader(HttpHeaders.SET_COOKIE, "SESSION=123; Path=/; Secure; HttpOnly; SameSite=Lax");
......@@ -363,8 +375,11 @@ class MockHttpServletResponseTests {
assertCookieValues("123", "999");
}
/**
* @since 5.1.11
*/
@Test
void addCookieHeaderWithExpires() {
void addCookieHeaderWithExpiresAttribute() {
String cookieValue = "SESSION=123; Path=/; Max-Age=100; Expires=Tue, 8 Oct 2019 19:50:00 GMT; Secure; " +
"HttpOnly; SameSite=Lax";
response.addHeader(HttpHeaders.SET_COOKIE, cookieValue);
......
......@@ -46,7 +46,7 @@ public class MockCookie extends Cookie {
/**
* Constructor with the cookie name and value.
* Construct a new {@link MockCookie} with the supplied name and value.
* @param name the name
* @param value the value
* @see Cookie#Cookie(String, String)
......@@ -56,14 +56,17 @@ public class MockCookie extends Cookie {
}
/**
* Add the "Expires" attribute to the cookie.
* Set the "Expires" attribute for this cookie.
* @since 5.1.11
*/
public void setExpires(@Nullable ZonedDateTime expires) {
this.expires = expires;
}
/**
* Return the "Expires" attribute, or {@code null} if not set.
* Get the "Expires" attribute for this cookie.
* @since 5.1.11
* @return the "Expires" attribute for this cookie, or {@code null} if not set
*/
@Nullable
public ZonedDateTime getExpires() {
......@@ -71,10 +74,10 @@ public class MockCookie extends Cookie {
}
/**
* Add the "SameSite" attribute to the cookie.
* Set the "SameSite" attribute for this cookie.
* <p>This limits the scope of the cookie such that it will only be attached
* to same site requests if {@code "Strict"} or cross-site requests if
* {@code "Lax"}.
* to same-site requests if the supplied value is {@code "Strict"} or cross-site
* requests if the supplied value is {@code "Lax"}.
* @see <a href="https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis#section-4.1.2.7">RFC6265 bis</a>
*/
public void setSameSite(@Nullable String sameSite) {
......@@ -82,7 +85,8 @@ public class MockCookie extends Cookie {
}
/**
* Return the "SameSite" attribute, or {@code null} if not set.
* Get the "SameSite" attribute for this cookie.
* @return the "SameSite" attribute for this cookie, or {@code null} if not set
*/
@Nullable
public String getSameSite() {
......@@ -91,7 +95,7 @@ public class MockCookie extends Cookie {
/**
* Factory method that parses the value of a "Set-Cookie" header.
* Factory method that parses the value of the supplied "Set-Cookie" header.
* @param setCookieHeader the "Set-Cookie" value; never {@code null} or empty
* @return the created cookie
*/
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册