Fix MockCookie Partitioned support

See gh-31454
This commit is contained in:
Brian Clozel
2024-06-07 14:49:15 +02:00
parent 9cfd455dde
commit e8c122c00a
3 changed files with 20 additions and 6 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2023 the original author or authors.
* Copyright 2002-2024 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.
@@ -104,7 +104,12 @@ public class MockCookie extends Cookie {
* @see <a href="https://datatracker.ietf.org/doc/html/draft-cutler-httpbis-partitioned-cookies#section-2.1">The Partitioned attribute spec</a>
*/
public void setPartitioned(boolean partitioned) {
setAttribute("Partitioned", "");
if (partitioned) {
setAttribute("Partitioned", "");
}
else {
setAttribute("Partitioned", null);
}
}
/**

View File

@@ -46,6 +46,7 @@ class MockCookieTests {
assertThat(cookie.getMaxAge()).isEqualTo(-1);
assertThat(cookie.getPath()).isNull();
assertThat(cookie.isHttpOnly()).isFalse();
assertThat(cookie.isPartitioned()).isFalse();
assertThat(cookie.getSecure()).isFalse();
assertThat(cookie.getSameSite()).isNull();
}
@@ -207,9 +208,11 @@ class MockCookieTests {
@Test
void setPartitioned() {
MockCookie cookie = new MockCookie("SESSION", "123");
cookie.setAttribute("Partitioned", "");
assertThat(cookie.isPartitioned()).isFalse();
cookie.setPartitioned(true);
assertThat(cookie.isPartitioned()).isTrue();
cookie.setPartitioned(false);
assertThat(cookie.isPartitioned()).isFalse();
}
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2023 the original author or authors.
* Copyright 2002-2024 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.
@@ -104,7 +104,12 @@ public class MockCookie extends Cookie {
* @see <a href="https://datatracker.ietf.org/doc/html/draft-cutler-httpbis-partitioned-cookies#section-2.1">The Partitioned attribute spec</a>
*/
public void setPartitioned(boolean partitioned) {
setAttribute("Partitioned", "");
if (partitioned) {
setAttribute("Partitioned", "");
}
else {
setAttribute("Partitioned", null);
}
}
/**
@@ -197,6 +202,7 @@ public class MockCookie extends Cookie {
.append("Comment", getComment())
.append("Secure", getSecure())
.append("HttpOnly", isHttpOnly())
.append("Partitioned", isPartitioned())
.append(SAME_SITE, getSameSite())
.append("Max-Age", getMaxAge())
.append(EXPIRES, getAttribute(EXPIRES))