Browse Source

Add nullability annotations to tests in module/spring-boot-sql

See gh-47263
pull/47637/head
Moritz Halbritter 2 months ago
parent
commit
c629b83146
  1. 4
      module/spring-boot-sql/build.gradle
  2. 37
      module/spring-boot-sql/src/test/java/org/springframework/boot/sql/autoconfigure/init/OnDatabaseInitializationConditionTests.java
  3. 6
      module/spring-boot-sql/src/test/java/org/springframework/boot/sql/init/dependency/DatabaseInitializationDependencyConfigurerTests.java

4
module/spring-boot-sql/build.gradle

@ -37,3 +37,7 @@ dependencies { @@ -37,3 +37,7 @@ dependencies {
testRuntimeOnly("ch.qos.logback:logback-classic")
}
tasks.named("compileTestJava") {
options.nullability.checking = "tests"
}

37
module/spring-boot-sql/src/test/java/org/springframework/boot/sql/autoconfigure/init/OnDatabaseInitializationConditionTests.java

@ -21,6 +21,7 @@ import org.junit.jupiter.api.Test; @@ -21,6 +21,7 @@ import org.junit.jupiter.api.Test;
import org.springframework.boot.autoconfigure.condition.ConditionOutcome;
import org.springframework.boot.test.util.TestPropertyValues;
import org.springframework.context.annotation.ConditionContext;
import org.springframework.core.type.AnnotatedTypeMetadata;
import org.springframework.mock.env.MockEnvironment;
import static org.assertj.core.api.Assertions.assertThat;
@ -37,40 +38,43 @@ class OnDatabaseInitializationConditionTests { @@ -37,40 +38,43 @@ class OnDatabaseInitializationConditionTests {
@Test
void getMatchOutcomeWithPropertyNoSetMatches() {
OnDatabaseInitializationCondition condition = new OnTestDatabaseInitializationCondition("test.init-mode");
ConditionOutcome outcome = condition
.getMatchOutcome(mockConditionContext(TestPropertyValues.of("test.another", "noise")), null);
ConditionOutcome outcome = condition.getMatchOutcome(
mockConditionContext(TestPropertyValues.of("test.another", "noise")),
mock(AnnotatedTypeMetadata.class));
assertThat(outcome.isMatch()).isTrue();
}
@Test
void getMatchOutcomeWithPropertySetToAlwaysMatches() {
OnDatabaseInitializationCondition condition = new OnTestDatabaseInitializationCondition("test.init-mode");
ConditionOutcome outcome = condition
.getMatchOutcome(mockConditionContext(TestPropertyValues.of("test.init-mode=always")), null);
ConditionOutcome outcome = condition.getMatchOutcome(
mockConditionContext(TestPropertyValues.of("test.init-mode=always")),
mock(AnnotatedTypeMetadata.class));
assertThat(outcome.isMatch()).isTrue();
}
@Test
void getMatchOutcomeWithPropertySetToEmbeddedMatches() {
OnDatabaseInitializationCondition condition = new OnTestDatabaseInitializationCondition("test.init-mode");
ConditionOutcome outcome = condition
.getMatchOutcome(mockConditionContext(TestPropertyValues.of("test.init-mode=embedded")), null);
ConditionOutcome outcome = condition.getMatchOutcome(
mockConditionContext(TestPropertyValues.of("test.init-mode=embedded")),
mock(AnnotatedTypeMetadata.class));
assertThat(outcome.isMatch()).isTrue();
}
@Test
void getMatchOutcomeWithPropertySetToNeverDoesNotMatch() {
OnDatabaseInitializationCondition condition = new OnTestDatabaseInitializationCondition("test.init-mode");
ConditionOutcome outcome = condition
.getMatchOutcome(mockConditionContext(TestPropertyValues.of("test.init-mode=never")), null);
ConditionOutcome outcome = condition.getMatchOutcome(
mockConditionContext(TestPropertyValues.of("test.init-mode=never")), mock(AnnotatedTypeMetadata.class));
assertThat(outcome.isMatch()).isFalse();
}
@Test
void getMatchOutcomeWithPropertySetToEmptyStringIsIgnored() {
OnDatabaseInitializationCondition condition = new OnTestDatabaseInitializationCondition("test.init-mode");
ConditionOutcome outcome = condition
.getMatchOutcome(mockConditionContext(TestPropertyValues.of("test.init-mode")), null);
ConditionOutcome outcome = condition.getMatchOutcome(
mockConditionContext(TestPropertyValues.of("test.init-mode")), mock(AnnotatedTypeMetadata.class));
assertThat(outcome.isMatch()).isTrue();
}
@ -78,8 +82,9 @@ class OnDatabaseInitializationConditionTests { @@ -78,8 +82,9 @@ class OnDatabaseInitializationConditionTests {
void getMatchOutcomeWithMultiplePropertiesUsesFirstSet() {
OnDatabaseInitializationCondition condition = new OnTestDatabaseInitializationCondition("test.init-mode",
"test.schema-mode", "test.init-schema-mode");
ConditionOutcome outcome = condition
.getMatchOutcome(mockConditionContext(TestPropertyValues.of("test.init-schema-mode=embedded")), null);
ConditionOutcome outcome = condition.getMatchOutcome(
mockConditionContext(TestPropertyValues.of("test.init-schema-mode=embedded")),
mock(AnnotatedTypeMetadata.class));
assertThat(outcome.isMatch()).isTrue();
assertThat(outcome.getMessage()).isEqualTo("TestDatabase Initialization test.init-schema-mode is EMBEDDED");
}
@ -87,15 +92,17 @@ class OnDatabaseInitializationConditionTests { @@ -87,15 +92,17 @@ class OnDatabaseInitializationConditionTests {
@Test
void getMatchOutcomeHasDedicatedDescription() {
OnDatabaseInitializationCondition condition = new OnTestDatabaseInitializationCondition("test.init-mode");
ConditionOutcome outcome = condition
.getMatchOutcome(mockConditionContext(TestPropertyValues.of("test.init-mode=embedded")), null);
ConditionOutcome outcome = condition.getMatchOutcome(
mockConditionContext(TestPropertyValues.of("test.init-mode=embedded")),
mock(AnnotatedTypeMetadata.class));
assertThat(outcome.getMessage()).isEqualTo("TestDatabase Initialization test.init-mode is EMBEDDED");
}
@Test
void getMatchOutcomeHasWhenPropertyIsNotSetHasDefaultDescription() {
OnDatabaseInitializationCondition condition = new OnTestDatabaseInitializationCondition("test.init-mode");
ConditionOutcome outcome = condition.getMatchOutcome(mockConditionContext(TestPropertyValues.empty()), null);
ConditionOutcome outcome = condition.getMatchOutcome(mockConditionContext(TestPropertyValues.empty()),
mock(AnnotatedTypeMetadata.class));
assertThat(outcome.getMessage()).isEqualTo("TestDatabase Initialization default value is EMBEDDED");
}

6
module/spring-boot-sql/src/test/java/org/springframework/boot/sql/init/dependency/DatabaseInitializationDependencyConfigurerTests.java

@ -33,6 +33,7 @@ import java.util.Properties; @@ -33,6 +33,7 @@ import java.util.Properties;
import java.util.Set;
import java.util.function.Consumer;
import org.jspecify.annotations.Nullable;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
@ -67,6 +68,7 @@ class DatabaseInitializationDependencyConfigurerTests { @@ -67,6 +68,7 @@ class DatabaseInitializationDependencyConfigurerTests {
private final ConfigurableEnvironment environment = new MockEnvironment();
@TempDir
@SuppressWarnings("NullAway.Init")
File temp;
@BeforeEach
@ -217,7 +219,7 @@ class DatabaseInitializationDependencyConfigurerTests { @@ -217,7 +219,7 @@ class DatabaseInitializationDependencyConfigurerTests {
static class ConstructorInjectionDatabaseInitializerDetector implements DatabaseInitializerDetector {
private static Environment environment;
private static @Nullable Environment environment;
ConstructorInjectionDatabaseInitializerDetector(Environment environment) {
ConstructorInjectionDatabaseInitializerDetector.environment = environment;
@ -233,7 +235,7 @@ class DatabaseInitializationDependencyConfigurerTests { @@ -233,7 +235,7 @@ class DatabaseInitializationDependencyConfigurerTests {
static class ConstructorInjectionDependsOnDatabaseInitializationDetector
implements DependsOnDatabaseInitializationDetector {
private static Environment environment;
private static @Nullable Environment environment;
ConstructorInjectionDependsOnDatabaseInitializationDetector(Environment environment) {
ConstructorInjectionDependsOnDatabaseInitializationDetector.environment = environment;

Loading…
Cancel
Save