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 b0dab61bf8e5..e9c50bb3d9f5 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 boolean isPartitioned() { * @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 461942b75e68..749f12192e60 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 @@ private void assertCookie(MockCookie cookie, String name, String value) { 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 d33e9ff11a90..43c7ed8055ba 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 boolean isPartitioned() { * @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 + "'");