From c06f2750f7d37bfad8f2ed6d4fd4b30dc0d80376 Mon Sep 17 00:00:00 2001 From: Moritz Halbritter Date: Mon, 13 Oct 2025 11:18:29 +0200 Subject: [PATCH] Add nullability annotations to tests in module/spring-boot-mongodb See gh-47263 --- module/spring-boot-mongodb/build.gradle | 10 ++++++++ ...nectionDetailsFactoryIntegrationTests.java | 9 +++++--- .../MongoHealthIndicatorIntegrationTests.java | 7 ++++-- ...activeHealthIndicatorIntegrationTests.java | 7 ++++-- .../MongoAutoConfigurationTests.java | 7 ++++++ .../MongoClientFactorySupportTests.java | 3 ++- .../MongoClientFactoryTests.java | 3 ++- .../MongoReactiveAutoConfigurationTests.java | 11 ++++++++- ...PropertiesMongoConnectionDetailsTests.java | 23 ++++++++++++------- .../ReactiveMongoClientFactoryTests.java | 3 ++- .../MongoMetricsAutoConfigurationTests.java | 10 ++++++-- 11 files changed, 72 insertions(+), 21 deletions(-) diff --git a/module/spring-boot-mongodb/build.gradle b/module/spring-boot-mongodb/build.gradle index 7c4133bb5b6..5c9fb1a4d47 100644 --- a/module/spring-boot-mongodb/build.gradle +++ b/module/spring-boot-mongodb/build.gradle @@ -53,6 +53,16 @@ dependencies { testImplementation("io.projectreactor:reactor-test") testImplementation("org.springframework.data:spring-data-mongodb") + testCompileOnly("com.google.code.findbugs:jsr305") + testRuntimeOnly("ch.qos.logback:logback-classic") testRuntimeOnly("io.netty:netty-handler") } + +tasks.named("compileTestJava") { + options.nullability.checking = "tests" +} + +tasks.named("compileDockerTestJava") { + options.nullability.checking = "tests" +} diff --git a/module/spring-boot-mongodb/src/dockerTest/java/org/springframework/boot/mongodb/docker/compose/MongoDockerComposeConnectionDetailsFactoryIntegrationTests.java b/module/spring-boot-mongodb/src/dockerTest/java/org/springframework/boot/mongodb/docker/compose/MongoDockerComposeConnectionDetailsFactoryIntegrationTests.java index 0be9568991c..eba3649573e 100644 --- a/module/spring-boot-mongodb/src/dockerTest/java/org/springframework/boot/mongodb/docker/compose/MongoDockerComposeConnectionDetailsFactoryIntegrationTests.java +++ b/module/spring-boot-mongodb/src/dockerTest/java/org/springframework/boot/mongodb/docker/compose/MongoDockerComposeConnectionDetailsFactoryIntegrationTests.java @@ -17,6 +17,7 @@ package org.springframework.boot.mongodb.docker.compose; import com.mongodb.ConnectionString; +import com.mongodb.MongoCredential; import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest; import org.springframework.boot.mongodb.autoconfigure.MongoConnectionDetails; @@ -41,9 +42,11 @@ class MongoDockerComposeConnectionDetailsFactoryIntegrationTests { private void assertConnectionDetailsWithDatabase(MongoConnectionDetails connectionDetails, String database) { ConnectionString connectionString = connectionDetails.getConnectionString(); - assertThat(connectionString.getCredential().getUserName()).isEqualTo("root"); - assertThat(connectionString.getCredential().getPassword()).isEqualTo("secret".toCharArray()); - assertThat(connectionString.getCredential().getSource()).isEqualTo("admin"); + MongoCredential credential = connectionString.getCredential(); + assertThat(credential).isNotNull(); + assertThat(credential.getUserName()).isEqualTo("root"); + assertThat(credential.getPassword()).isEqualTo("secret".toCharArray()); + assertThat(credential.getSource()).isEqualTo("admin"); assertThat(connectionString.getDatabase()).isEqualTo(database); } diff --git a/module/spring-boot-mongodb/src/dockerTest/java/org/springframework/boot/mongodb/health/MongoHealthIndicatorIntegrationTests.java b/module/spring-boot-mongodb/src/dockerTest/java/org/springframework/boot/mongodb/health/MongoHealthIndicatorIntegrationTests.java index 1822f03da98..993b41975b2 100644 --- a/module/spring-boot-mongodb/src/dockerTest/java/org/springframework/boot/mongodb/health/MongoHealthIndicatorIntegrationTests.java +++ b/module/spring-boot-mongodb/src/dockerTest/java/org/springframework/boot/mongodb/health/MongoHealthIndicatorIntegrationTests.java @@ -24,6 +24,7 @@ import com.mongodb.ServerApiVersion; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import org.assertj.core.api.InstanceOfAssertFactories; +import org.jspecify.annotations.Nullable; import org.junit.jupiter.api.Test; import org.testcontainers.containers.MongoDBContainer; import org.testcontainers.junit.jupiter.Container; @@ -70,7 +71,7 @@ class MongoHealthIndicatorIntegrationTests { return mongoHealth(null); } - private Health mongoHealth(ServerApi serverApi) { + private Health mongoHealth(@Nullable ServerApi serverApi) { Builder settingsBuilder = MongoClientSettings.builder() .applyConnectionString(new ConnectionString(mongo.getConnectionString())); if (serverApi != null) { @@ -79,7 +80,9 @@ class MongoHealthIndicatorIntegrationTests { MongoClientSettings settings = settingsBuilder.build(); MongoClient mongoClient = MongoClients.create(settings); MongoHealthIndicator healthIndicator = new MongoHealthIndicator(mongoClient); - return healthIndicator.health(true); + Health health = healthIndicator.health(true); + assertThat(health).isNotNull(); + return health; } } diff --git a/module/spring-boot-mongodb/src/dockerTest/java/org/springframework/boot/mongodb/health/MongoReactiveHealthIndicatorIntegrationTests.java b/module/spring-boot-mongodb/src/dockerTest/java/org/springframework/boot/mongodb/health/MongoReactiveHealthIndicatorIntegrationTests.java index 877333f31ba..c0292e8ea07 100644 --- a/module/spring-boot-mongodb/src/dockerTest/java/org/springframework/boot/mongodb/health/MongoReactiveHealthIndicatorIntegrationTests.java +++ b/module/spring-boot-mongodb/src/dockerTest/java/org/springframework/boot/mongodb/health/MongoReactiveHealthIndicatorIntegrationTests.java @@ -26,6 +26,7 @@ import com.mongodb.ServerApiVersion; import com.mongodb.reactivestreams.client.MongoClient; import com.mongodb.reactivestreams.client.MongoClients; import org.assertj.core.api.InstanceOfAssertFactories; +import org.jspecify.annotations.Nullable; import org.junit.jupiter.api.Test; import org.testcontainers.containers.MongoDBContainer; import org.testcontainers.junit.jupiter.Container; @@ -64,7 +65,7 @@ class MongoReactiveHealthIndicatorIntegrationTests { return mongoHealth(null); } - private Health mongoHealth(ServerApi serverApi) { + private Health mongoHealth(@Nullable ServerApi serverApi) { Builder settingsBuilder = MongoClientSettings.builder() .applyConnectionString(new ConnectionString(mongo.getConnectionString())); if (serverApi != null) { @@ -73,7 +74,9 @@ class MongoReactiveHealthIndicatorIntegrationTests { MongoClientSettings settings = settingsBuilder.build(); MongoClient mongoClient = MongoClients.create(settings); MongoReactiveHealthIndicator healthIndicator = new MongoReactiveHealthIndicator(mongoClient); - return healthIndicator.health(true).block(Duration.ofSeconds(30)); + Health health = healthIndicator.health(true).block(Duration.ofSeconds(30)); + assertThat(health).isNotNull(); + return health; } private void assertHealth(Health health) { diff --git a/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/MongoAutoConfigurationTests.java b/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/MongoAutoConfigurationTests.java index 26f77eb53cd..a14dac58495 100644 --- a/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/MongoAutoConfigurationTests.java +++ b/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/MongoAutoConfigurationTests.java @@ -139,6 +139,7 @@ class MongoAutoConfigurationTests { this.contextRunner.withPropertyValues("spring.mongodb.username=user", "spring.mongodb.password=secret") .run((context) -> { MongoCredential credential = getSettings(context).getCredential(); + assertThat(credential).isNotNull(); assertThat(credential.getUserName()).isEqualTo("user"); assertThat(credential.getPassword()).isEqualTo("secret".toCharArray()); assertThat(credential.getSource()).isEqualTo("test"); @@ -152,6 +153,7 @@ class MongoAutoConfigurationTests { "spring.mongodb.database=mydb") .run((context) -> { MongoCredential credential = getSettings(context).getCredential(); + assertThat(credential).isNotNull(); assertThat(credential.getUserName()).isEqualTo("user"); assertThat(credential.getPassword()).isEqualTo("secret".toCharArray()); assertThat(credential.getSource()).isEqualTo("mydb"); @@ -165,6 +167,7 @@ class MongoAutoConfigurationTests { "spring.mongodb.database=mydb", "spring.mongodb.authentication-database=authdb") .run((context) -> { MongoCredential credential = getSettings(context).getCredential(); + assertThat(credential).isNotNull(); assertThat(credential.getUserName()).isEqualTo("user"); assertThat(credential.getPassword()).isEqualTo("secret".toCharArray()); assertThat(credential.getSource()).isEqualTo("authdb"); @@ -176,6 +179,7 @@ class MongoAutoConfigurationTests { this.contextRunner.withPropertyValues("spring.mongodb.username=us:er", "spring.mongodb.password=sec@ret") .run((context) -> { MongoCredential credential = getSettings(context).getCredential(); + assertThat(credential).isNotNull(); assertThat(credential.getUserName()).isEqualTo("us:er"); assertThat(credential.getPassword()).isEqualTo("sec@ret".toCharArray()); assertThat(credential.getSource()).isEqualTo("test"); @@ -192,6 +196,7 @@ class MongoAutoConfigurationTests { void configuresCredentialsFromUriPropertyWithDefaultDatabase() { this.contextRunner.withPropertyValues("spring.mongodb.uri=mongodb://user:secret@localhost/").run((context) -> { MongoCredential credential = getSettings(context).getCredential(); + assertThat(credential).isNotNull(); assertThat(credential.getUserName()).isEqualTo("user"); assertThat(credential.getPassword()).isEqualTo("secret".toCharArray()); assertThat(credential.getSource()).isEqualTo("admin"); @@ -205,6 +210,7 @@ class MongoAutoConfigurationTests { "spring.mongodb.database=notused", "spring.mongodb.authentication-database=notused") .run((context) -> { MongoCredential credential = getSettings(context).getCredential(); + assertThat(credential).isNotNull(); assertThat(credential.getUserName()).isEqualTo("user"); assertThat(credential.getPassword()).isEqualTo("secret".toCharArray()); assertThat(credential.getSource()).isEqualTo("mydb"); @@ -218,6 +224,7 @@ class MongoAutoConfigurationTests { "spring.mongodb.database=notused", "spring.mongodb.authentication-database=notused") .run((context) -> { MongoCredential credential = getSettings(context).getCredential(); + assertThat(credential).isNotNull(); assertThat(credential.getUserName()).isEqualTo("user"); assertThat(credential.getPassword()).isEqualTo("secret".toCharArray()); assertThat(credential.getSource()).isEqualTo("authdb"); diff --git a/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/MongoClientFactorySupportTests.java b/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/MongoClientFactorySupportTests.java index 7051bd43ce4..28830f77ac5 100644 --- a/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/MongoClientFactorySupportTests.java +++ b/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/MongoClientFactorySupportTests.java @@ -21,6 +21,7 @@ import java.util.List; import java.util.concurrent.TimeUnit; import com.mongodb.MongoClientSettings; +import org.jspecify.annotations.Nullable; import org.junit.jupiter.api.Test; import org.springframework.boot.context.properties.EnableConfigurationProperties; @@ -97,7 +98,7 @@ abstract class MongoClientFactorySupportTests { MongoClientSettings.builder().build()); } - protected abstract T createMongoClient(List customizers, + protected abstract T createMongoClient(@Nullable List customizers, MongoClientSettings settings); protected abstract MongoClientSettings getClientSettings(T client); diff --git a/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/MongoClientFactoryTests.java b/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/MongoClientFactoryTests.java index 7574f1ad5b8..e234077cbfc 100644 --- a/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/MongoClientFactoryTests.java +++ b/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/MongoClientFactoryTests.java @@ -21,6 +21,7 @@ import java.util.List; import com.mongodb.MongoClientSettings; import com.mongodb.client.MongoClient; import com.mongodb.client.internal.MongoClientImpl; +import org.jspecify.annotations.Nullable; /** * Tests for {@link MongoClientFactory}. @@ -34,7 +35,7 @@ import com.mongodb.client.internal.MongoClientImpl; class MongoClientFactoryTests extends MongoClientFactorySupportTests { @Override - protected MongoClient createMongoClient(List customizers, + protected MongoClient createMongoClient(@Nullable List customizers, MongoClientSettings settings) { return new MongoClientFactory(customizers).createMongoClient(settings); } diff --git a/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/MongoReactiveAutoConfigurationTests.java b/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/MongoReactiveAutoConfigurationTests.java index ebfc481057b..63379d60495 100644 --- a/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/MongoReactiveAutoConfigurationTests.java +++ b/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/MongoReactiveAutoConfigurationTests.java @@ -130,6 +130,7 @@ class MongoReactiveAutoConfigurationTests { this.contextRunner.withPropertyValues("spring.mongodb.username=user", "spring.mongodb.password=secret") .run((context) -> { MongoCredential credential = getSettings(context).getCredential(); + assertThat(credential).isNotNull(); assertThat(credential.getUserName()).isEqualTo("user"); assertThat(credential.getPassword()).isEqualTo("secret".toCharArray()); assertThat(credential.getSource()).isEqualTo("test"); @@ -143,6 +144,7 @@ class MongoReactiveAutoConfigurationTests { "spring.mongodb.database=mydb") .run((context) -> { MongoCredential credential = getSettings(context).getCredential(); + assertThat(credential).isNotNull(); assertThat(credential.getUserName()).isEqualTo("user"); assertThat(credential.getPassword()).isEqualTo("secret".toCharArray()); assertThat(credential.getSource()).isEqualTo("mydb"); @@ -156,6 +158,7 @@ class MongoReactiveAutoConfigurationTests { "spring.mongodb.database=mydb", "spring.mongodb.authentication-database=authdb") .run((context) -> { MongoCredential credential = getSettings(context).getCredential(); + assertThat(credential).isNotNull(); assertThat(credential.getUserName()).isEqualTo("user"); assertThat(credential.getPassword()).isEqualTo("secret".toCharArray()); assertThat(credential.getSource()).isEqualTo("authdb"); @@ -172,6 +175,7 @@ class MongoReactiveAutoConfigurationTests { void configuresCredentialsFromUriPropertyWithDefaultDatabase() { this.contextRunner.withPropertyValues("spring.mongodb.uri=mongodb://user:secret@localhost/").run((context) -> { MongoCredential credential = getSettings(context).getCredential(); + assertThat(credential).isNotNull(); assertThat(credential.getUserName()).isEqualTo("user"); assertThat(credential.getPassword()).isEqualTo("secret".toCharArray()); assertThat(credential.getSource()).isEqualTo("admin"); @@ -185,6 +189,7 @@ class MongoReactiveAutoConfigurationTests { "spring.mongodb.database=notused", "spring.mongodb.authentication-database=notused") .run((context) -> { MongoCredential credential = getSettings(context).getCredential(); + assertThat(credential).isNotNull(); assertThat(credential.getUserName()).isEqualTo("user"); assertThat(credential.getPassword()).isEqualTo("secret".toCharArray()); assertThat(credential.getSource()).isEqualTo("mydb"); @@ -198,6 +203,7 @@ class MongoReactiveAutoConfigurationTests { "spring.mongodb.database=notused", "spring.mongodb.authentication-database=notused") .run((context) -> { MongoCredential credential = getSettings(context).getCredential(); + assertThat(credential).isNotNull(); assertThat(credential.getUserName()).isEqualTo("user"); assertThat(credential.getPassword()).isEqualTo("secret".toCharArray()); assertThat(credential.getSource()).isEqualTo("authdb"); @@ -212,10 +218,13 @@ class MongoReactiveAutoConfigurationTests { TransportSettings transportSettings = getSettings(context).getTransportSettings(); assertThat(transportSettings).isInstanceOf(NettyTransportSettings.class); EventLoopGroup eventLoopGroup = ((NettyTransportSettings) transportSettings).getEventLoopGroup(); + assertThat(eventLoopGroup).isNotNull(); assertThat(eventLoopGroup.isShutdown()).isFalse(); eventLoopGroupReference.set(eventLoopGroup); }); - assertThat(eventLoopGroupReference.get().isShutdown()).isTrue(); + EventLoopGroup eventLoopGroup = eventLoopGroupReference.get(); + assertThat(eventLoopGroup).isNotNull(); + assertThat(eventLoopGroup.isShutdown()).isTrue(); } @Test diff --git a/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/PropertiesMongoConnectionDetailsTests.java b/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/PropertiesMongoConnectionDetailsTests.java index ad980f32f6a..ac7e4cb23e9 100644 --- a/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/PropertiesMongoConnectionDetailsTests.java +++ b/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/PropertiesMongoConnectionDetailsTests.java @@ -19,6 +19,7 @@ package org.springframework.boot.mongodb.autoconfigure; import java.util.List; import com.mongodb.ConnectionString; +import com.mongodb.MongoCredential; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -56,9 +57,11 @@ class PropertiesMongoConnectionDetailsTests { ConnectionString connectionString = this.connectionDetails.getConnectionString(); assertThat(connectionString.getUsername()).isEqualTo("user"); assertThat(connectionString.getPassword()).isEmpty(); - assertThat(connectionString.getCredential().getUserName()).isEqualTo("user"); - assertThat(connectionString.getCredential().getPassword()).isEmpty(); - assertThat(connectionString.getCredential().getSource()).isEqualTo("test"); + MongoCredential credential = connectionString.getCredential(); + assertThat(credential).isNotNull(); + assertThat(credential.getUserName()).isEqualTo("user"); + assertThat(credential.getPassword()).isEmpty(); + assertThat(credential.getSource()).isEqualTo("test"); } @Test @@ -68,9 +71,11 @@ class PropertiesMongoConnectionDetailsTests { ConnectionString connectionString = this.connectionDetails.getConnectionString(); assertThat(connectionString.getUsername()).isEqualTo("user"); assertThat(connectionString.getPassword()).isEqualTo("secret".toCharArray()); - assertThat(connectionString.getCredential().getUserName()).isEqualTo("user"); - assertThat(connectionString.getCredential().getPassword()).isEqualTo("secret".toCharArray()); - assertThat(connectionString.getCredential().getSource()).isEqualTo("test"); + MongoCredential credential = connectionString.getCredential(); + assertThat(credential).isNotNull(); + assertThat(credential.getUserName()).isEqualTo("user"); + assertThat(credential.getPassword()).isEqualTo("secret".toCharArray()); + assertThat(credential.getSource()).isEqualTo("test"); } @Test @@ -100,8 +105,10 @@ class PropertiesMongoConnectionDetailsTests { this.properties.setAuthenticationDatabase("authdb"); ConnectionString connectionString = this.connectionDetails.getConnectionString(); assertThat(connectionString.getDatabase()).isEqualTo("db"); - assertThat(connectionString.getCredential().getSource()).isEqualTo("authdb"); - assertThat(connectionString.getCredential().getUserName()).isEqualTo("user"); + MongoCredential credential = connectionString.getCredential(); + assertThat(credential).isNotNull(); + assertThat(credential.getSource()).isEqualTo("authdb"); + assertThat(credential.getUserName()).isEqualTo("user"); } @Test diff --git a/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/ReactiveMongoClientFactoryTests.java b/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/ReactiveMongoClientFactoryTests.java index 373d70ab43e..e9933d1dfa4 100644 --- a/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/ReactiveMongoClientFactoryTests.java +++ b/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/ReactiveMongoClientFactoryTests.java @@ -21,6 +21,7 @@ import java.util.List; import com.mongodb.MongoClientSettings; import com.mongodb.reactivestreams.client.MongoClient; import com.mongodb.reactivestreams.client.internal.MongoClientImpl; +import org.jspecify.annotations.Nullable; /** * Tests for {@link ReactiveMongoClientFactory}. @@ -32,7 +33,7 @@ import com.mongodb.reactivestreams.client.internal.MongoClientImpl; class ReactiveMongoClientFactoryTests extends MongoClientFactorySupportTests { @Override - protected MongoClient createMongoClient(List customizers, + protected MongoClient createMongoClient(@Nullable List customizers, MongoClientSettings settings) { return new ReactiveMongoClientFactory(customizers).createMongoClient(settings); } diff --git a/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/metrics/MongoMetricsAutoConfigurationTests.java b/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/metrics/MongoMetricsAutoConfigurationTests.java index d2efabb94bd..abfd0665e72 100644 --- a/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/metrics/MongoMetricsAutoConfigurationTests.java +++ b/module/spring-boot-mongodb/src/test/java/org/springframework/boot/mongodb/autoconfigure/metrics/MongoMetricsAutoConfigurationTests.java @@ -197,13 +197,19 @@ class MongoMetricsAutoConfigurationTests { private MongoCommandTagsProvider getMongoCommandTagsProviderUsedToConstructListener( final AssertableApplicationContext context) { MongoMetricsCommandListener listener = context.getBean(MongoMetricsCommandListener.class); - return (MongoCommandTagsProvider) ReflectionTestUtils.getField(listener, "tagsProvider"); + MongoCommandTagsProvider tagsProvider = (MongoCommandTagsProvider) ReflectionTestUtils.getField(listener, + "tagsProvider"); + assertThat(tagsProvider).isNotNull(); + return tagsProvider; } private MongoConnectionPoolTagsProvider getMongoConnectionPoolTagsProviderUsedToConstructListener( final AssertableApplicationContext context) { MongoMetricsConnectionPoolListener listener = context.getBean(MongoMetricsConnectionPoolListener.class); - return (MongoConnectionPoolTagsProvider) ReflectionTestUtils.getField(listener, "tagsProvider"); + MongoConnectionPoolTagsProvider tagsProvider = (MongoConnectionPoolTagsProvider) ReflectionTestUtils + .getField(listener, "tagsProvider"); + assertThat(tagsProvider).isNotNull(); + return tagsProvider; } }