From 8b894933aef40b8662f25ae60ea56cb136e22895 Mon Sep 17 00:00:00 2001 From: Tran Ngoc Nhan Date: Thu, 13 Aug 2026 17:38:02 +0700 Subject: [PATCH] Update `MockCookie#parse(String)` validation to align with Javadoc Signed-off-by: Tran Ngoc Nhan --- .../java/org/springframework/mock/web/MockCookie.java | 2 +- .../org/springframework/mock/web/MockCookieTests.java | 10 +++++++++- .../web/testfixture/servlet/MockCookie.java | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/spring-test/src/main/java/org/springframework/mock/web/MockCookie.java b/spring-test/src/main/java/org/springframework/mock/web/MockCookie.java index b0dab61bf8e..e9c50bb3d9f 100644 --- a/spring-test/src/main/java/org/springframework/mock/web/MockCookie.java +++ b/spring-test/src/main/java/org/springframework/mock/web/MockCookie.java @@ -132,7 +132,7 @@ public class MockCookie extends Cookie { * @return the created cookie */ public static MockCookie parse(String setCookieHeader) { - Assert.notNull(setCookieHeader, "Set-Cookie header must not be null"); + Assert.hasText(setCookieHeader, "Set-Cookie header must not be null or empty"); String[] cookieParts = setCookieHeader.split("\\s*=\\s*", 2); Assert.isTrue(cookieParts.length == 2, () -> "Invalid Set-Cookie header '" + setCookieHeader + "'"); diff --git a/spring-test/src/test/java/org/springframework/mock/web/MockCookieTests.java b/spring-test/src/test/java/org/springframework/mock/web/MockCookieTests.java index 461942b75e6..749f12192e6 100644 --- a/spring-test/src/test/java/org/springframework/mock/web/MockCookieTests.java +++ b/spring-test/src/test/java/org/springframework/mock/web/MockCookieTests.java @@ -118,7 +118,15 @@ class MockCookieTests { void parseNullHeader() { assertThatIllegalArgumentException() .isThrownBy(() -> MockCookie.parse(null)) - .withMessageContaining("Set-Cookie header must not be null"); + .withMessageContaining("Set-Cookie header must not be null or empty"); + } + + @ParameterizedTest + @ValueSource(strings = {"", " "}) + void parseEmptyHeader(String header) { + assertThatIllegalArgumentException() + .isThrownBy(() -> MockCookie.parse(header)) + .withMessageContaining("Set-Cookie header must not be null or empty"); } @Test diff --git a/spring-web/src/testFixtures/java/org/springframework/web/testfixture/servlet/MockCookie.java b/spring-web/src/testFixtures/java/org/springframework/web/testfixture/servlet/MockCookie.java index d33e9ff11a9..43c7ed8055b 100644 --- a/spring-web/src/testFixtures/java/org/springframework/web/testfixture/servlet/MockCookie.java +++ b/spring-web/src/testFixtures/java/org/springframework/web/testfixture/servlet/MockCookie.java @@ -132,7 +132,7 @@ public class MockCookie extends Cookie { * @return the created cookie */ public static MockCookie parse(String setCookieHeader) { - Assert.notNull(setCookieHeader, "Set-Cookie header must not be null"); + Assert.hasText(setCookieHeader, "Set-Cookie header must not be null or empty"); String[] cookieParts = setCookieHeader.split("\\s*=\\s*", 2); Assert.isTrue(cookieParts.length == 2, () -> "Invalid Set-Cookie header '" + setCookieHeader + "'");