From 341777b8f5971c45f627b8929903a722610e21b4 Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Thu, 16 Oct 2025 09:45:32 +0200 Subject: [PATCH] Add nullability annotations to tests in smoke-test/spring-boot-smoke-test-session-jdbc See gh-47263 --- .../spring-boot-smoke-test-session-jdbc/build.gradle | 4 ++++ .../session/SampleSessionJdbcApplicationTests.java | 12 ++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/smoke-test/spring-boot-smoke-test-session-jdbc/build.gradle b/smoke-test/spring-boot-smoke-test-session-jdbc/build.gradle index c3b418fdb9d..81fb4915f80 100644 --- a/smoke-test/spring-boot-smoke-test-session-jdbc/build.gradle +++ b/smoke-test/spring-boot-smoke-test-session-jdbc/build.gradle @@ -32,3 +32,7 @@ dependencies { testImplementation(project(":starter:spring-boot-starter-webmvc-test")) testImplementation(project(":starter:spring-boot-starter-test")) } + +tasks.named("compileTestJava") { + options.nullability.checking = "tests" +} diff --git a/smoke-test/spring-boot-smoke-test-session-jdbc/src/test/java/smoketest/session/SampleSessionJdbcApplicationTests.java b/smoke-test/spring-boot-smoke-test-session-jdbc/src/test/java/smoketest/session/SampleSessionJdbcApplicationTests.java index 23128fed80c..2f7ca0e2154 100644 --- a/smoke-test/spring-boot-smoke-test-session-jdbc/src/test/java/smoketest/session/SampleSessionJdbcApplicationTests.java +++ b/smoke-test/spring-boot-smoke-test-session-jdbc/src/test/java/smoketest/session/SampleSessionJdbcApplicationTests.java @@ -22,6 +22,7 @@ import java.util.Collections; import java.util.List; import java.util.Map; +import org.jspecify.annotations.Nullable; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -68,6 +69,7 @@ class SampleSessionJdbcApplicationTests { private TestRestTemplate restTemplate; @LocalServerPort + @SuppressWarnings("NullAway.Init") private String port; private static final URI ROOT_URI = URI.create("/"); @@ -83,7 +85,7 @@ class SampleSessionJdbcApplicationTests { assertThat(loginPage).containsIgnoringCase("login"); } - private String performLogin() { + private @Nullable String performLogin() { RestTemplate restTemplate = this.restTemplateBuilder.clientSettings(DONT_FOLLOW_REDIRECTS).build(); HttpHeaders headers = new HttpHeaders(); headers.setAccept(Collections.singletonList(MediaType.TEXT_HTML)); @@ -103,17 +105,19 @@ class SampleSessionJdbcApplicationTests { ResponseEntity> response = getSessions(); assertThat(response).isNotNull(); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); - List> sessions = (List>) response.getBody().get("sessions"); + Map body = response.getBody(); + assertThat(body).isNotNull(); + List> sessions = (List>) body.get("sessions"); assertThat(sessions).hasSize(1); } - private ResponseEntity performRequest(URI uri, String cookie) { + private ResponseEntity performRequest(URI uri, @Nullable String cookie) { HttpHeaders headers = getHeaders(cookie); RequestEntity request = new RequestEntity<>(headers, HttpMethod.GET, uri); return this.restTemplate.exchange(request, String.class); } - private HttpHeaders getHeaders(String cookie) { + private HttpHeaders getHeaders(@Nullable String cookie) { HttpHeaders headers = new HttpHeaders(); if (cookie != null) { headers.set("Cookie", cookie);