From 8c25063273fb3ff9d02775cfe0bea6b2e93e09cc Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Mon, 6 Oct 2025 12:29:57 +0200 Subject: [PATCH] Add nullability annotations to tests in module/spring-boot-liquibase See gh-47263 --- module/spring-boot-liquibase/build.gradle | 8 ++++++++ .../LiquibaseChangelogMissingFailureAnalyzerTests.java | 6 ++++-- .../autoconfigure/LiquibaseAutoConfigurationTests.java | 9 +++++++-- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/module/spring-boot-liquibase/build.gradle b/module/spring-boot-liquibase/build.gradle index 08a66eff3c6..ef5c36aeadd 100644 --- a/module/spring-boot-liquibase/build.gradle +++ b/module/spring-boot-liquibase/build.gradle @@ -56,3 +56,11 @@ dependencies { testRuntimeOnly("ch.qos.logback:logback-classic") testRuntimeOnly("org.postgresql:postgresql") } + +tasks.named("compileTestJava") { + options.nullability.checking = "tests" +} + +tasks.named("compileDockerTestJava") { + options.nullability.checking = "tests" +} diff --git a/module/spring-boot-liquibase/src/test/java/org/springframework/boot/liquibase/LiquibaseChangelogMissingFailureAnalyzerTests.java b/module/spring-boot-liquibase/src/test/java/org/springframework/boot/liquibase/LiquibaseChangelogMissingFailureAnalyzerTests.java index 1315c8b607b..39518724c6c 100644 --- a/module/spring-boot-liquibase/src/test/java/org/springframework/boot/liquibase/LiquibaseChangelogMissingFailureAnalyzerTests.java +++ b/module/spring-boot-liquibase/src/test/java/org/springframework/boot/liquibase/LiquibaseChangelogMissingFailureAnalyzerTests.java @@ -20,6 +20,7 @@ import javax.sql.DataSource; import com.zaxxer.hikari.HikariDataSource; import liquibase.integration.spring.SpringLiquibase; +import org.jspecify.annotations.Nullable; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.BeanCreationException; @@ -40,6 +41,7 @@ class LiquibaseChangelogMissingFailureAnalyzerTests { @Test void changelogParseExceptionDueToChangelogNotPresent() { FailureAnalysis analysis = performAnalysis(); + assertThat(analysis).isNotNull(); assertThat(analysis.getDescription()) .isEqualTo("Liquibase failed to start because no changelog could be found at '" + "classpath:/db/changelog/db.changelog-master.yaml'."); @@ -47,13 +49,13 @@ class LiquibaseChangelogMissingFailureAnalyzerTests { .isEqualTo("Make sure a Liquibase changelog is present at the configured path."); } - private FailureAnalysis performAnalysis() { + private @Nullable FailureAnalysis performAnalysis() { BeanCreationException failure = createFailure(); assertThat(failure).isNotNull(); return new LiquibaseChangelogMissingFailureAnalyzer().analyze(failure); } - private BeanCreationException createFailure() { + private @Nullable BeanCreationException createFailure() { try (AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext( LiquibaseConfiguration.class)) { return null; diff --git a/module/spring-boot-liquibase/src/test/java/org/springframework/boot/liquibase/autoconfigure/LiquibaseAutoConfigurationTests.java b/module/spring-boot-liquibase/src/test/java/org/springframework/boot/liquibase/autoconfigure/LiquibaseAutoConfigurationTests.java index c2c7e2c952f..bdcff998ca1 100644 --- a/module/spring-boot-liquibase/src/test/java/org/springframework/boot/liquibase/autoconfigure/LiquibaseAutoConfigurationTests.java +++ b/module/spring-boot-liquibase/src/test/java/org/springframework/boot/liquibase/autoconfigure/LiquibaseAutoConfigurationTests.java @@ -25,6 +25,7 @@ import java.lang.annotation.Target; import java.nio.file.Files; import java.nio.file.Path; import java.sql.Connection; +import java.sql.Driver; import java.sql.SQLException; import java.util.Map; import java.util.UUID; @@ -334,7 +335,9 @@ class LiquibaseAutoConfigurationTests { .run(assertLiquibase((liquibase) -> { SimpleDriverDataSource dataSource = (SimpleDriverDataSource) liquibase.getDataSource(); assertThat(dataSource.getUrl()).isEqualTo(jdbcUrl); - assertThat(dataSource.getDriver().getClass().getName()).isEqualTo("org.h2.Driver"); + Driver driver = dataSource.getDriver(); + assertThat(driver).isNotNull(); + assertThat(driver.getClass().getName()).isEqualTo("org.h2.Driver"); })); } @@ -349,7 +352,9 @@ class LiquibaseAutoConfigurationTests { .run(assertLiquibase((liquibase) -> { SimpleDriverDataSource dataSource = (SimpleDriverDataSource) liquibase.getDataSource(); assertThat(dataSource.getUrl()).isEqualTo(jdbcUrl); - assertThat(dataSource.getDriver().getClass().getName()).isEqualTo(driverClassName); + Driver driver = dataSource.getDriver(); + assertThat(driver).isNotNull(); + assertThat(driver.getClass().getName()).isEqualTo(driverClassName); })); }