From 292959e2cabfeda2bbd45f95d4059d8ecf37805c Mon Sep 17 00:00:00 2001 From: Sam Brannen <104798+sbrannen@users.noreply.github.com> Date: Mon, 15 Jun 2026 15:35:17 +0200 Subject: [PATCH] Improve nullability for getSession(*) in MockHttpServletRequest Closes gh-36926 --- .../org/springframework/mock/web/MockHttpServletRequest.java | 4 +++- .../web/testfixture/servlet/MockHttpServletRequest.java | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/spring-test/src/main/java/org/springframework/mock/web/MockHttpServletRequest.java b/spring-test/src/main/java/org/springframework/mock/web/MockHttpServletRequest.java index e0074b2b889..5f5f58d9291 100644 --- a/spring-test/src/main/java/org/springframework/mock/web/MockHttpServletRequest.java +++ b/spring-test/src/main/java/org/springframework/mock/web/MockHttpServletRequest.java @@ -66,6 +66,7 @@ import org.jspecify.annotations.Nullable; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; +import org.springframework.lang.Contract; import org.springframework.util.Assert; import org.springframework.util.LinkedCaseInsensitiveMap; import org.springframework.util.LinkedMultiValueMap; @@ -1311,6 +1312,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } @Override + @Contract("true -> !null") public @Nullable HttpSession getSession(boolean create) { checkActive(); // Reset session if invalidated. @@ -1325,7 +1327,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } @Override - public @Nullable HttpSession getSession() { + public HttpSession getSession() { return getSession(true); } diff --git a/spring-web/src/testFixtures/java/org/springframework/web/testfixture/servlet/MockHttpServletRequest.java b/spring-web/src/testFixtures/java/org/springframework/web/testfixture/servlet/MockHttpServletRequest.java index 6092369da91..930f5a11074 100644 --- a/spring-web/src/testFixtures/java/org/springframework/web/testfixture/servlet/MockHttpServletRequest.java +++ b/spring-web/src/testFixtures/java/org/springframework/web/testfixture/servlet/MockHttpServletRequest.java @@ -66,6 +66,7 @@ import org.jspecify.annotations.Nullable; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; +import org.springframework.lang.Contract; import org.springframework.util.Assert; import org.springframework.util.LinkedCaseInsensitiveMap; import org.springframework.util.LinkedMultiValueMap; @@ -1311,6 +1312,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } @Override + @Contract("true -> !null") public @Nullable HttpSession getSession(boolean create) { checkActive(); // Reset session if invalidated. @@ -1325,7 +1327,7 @@ public class MockHttpServletRequest implements HttpServletRequest { } @Override - public @Nullable HttpSession getSession() { + public HttpSession getSession() { return getSession(true); }