diff --git a/spring-webflux/spring-webflux.gradle b/spring-webflux/spring-webflux.gradle index f3e3f8f9b72..b7cc4daf2d7 100644 --- a/spring-webflux/spring-webflux.gradle +++ b/spring-webflux/spring-webflux.gradle @@ -40,7 +40,6 @@ dependencies { testImplementation("jakarta.validation:jakarta.validation-api") testImplementation("io.reactivex.rxjava3:rxjava") testImplementation("io.projectreactor:reactor-test") - testImplementation("io.projectreactor.tools:blockhound") // required by Mockito 5's default MockMaker in order to mock ReactiveAdapterRegistry which "contains" SpringCoreBlockHoundIntegration testImplementation("io.micrometer:micrometer-observation-test") testImplementation("io.undertow:undertow-core") testImplementation("org.apache.tomcat.embed:tomcat-embed-core") diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/config/DelegatingWebFluxConfigurationIntegrationTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/config/DelegatingWebFluxConfigurationIntegrationTests.java index 35df96e88bb..de454b0a71d 100644 --- a/spring-webflux/src/test/java/org/springframework/web/reactive/config/DelegatingWebFluxConfigurationIntegrationTests.java +++ b/spring-webflux/src/test/java/org/springframework/web/reactive/config/DelegatingWebFluxConfigurationIntegrationTests.java @@ -80,7 +80,7 @@ public class DelegatingWebFluxConfigurationIntegrationTests { @Test void requestMappingHandlerAdapterWithPrimaryUsesQualifiedReactiveAdapterRegistry() { - load(registerPrimaryBean("testReactiveAdapterRegistry", ReactiveAdapterRegistry.class)); + load(registerPrimaryBean("testReactiveAdapterRegistry", ReactiveAdapterRegistry.class, new ReactiveAdapterRegistry())); RequestMappingHandlerAdapter mappingHandlerAdapter = this.context.getBean(RequestMappingHandlerAdapter.class); assertThat(mappingHandlerAdapter.getReactiveAdapterRegistry()).isSameAs(this.context.getBean("webFluxAdapterRegistry")); assertThat(this.context.getBeansOfType(ReactiveAdapterRegistry.class)).containsOnlyKeys( @@ -117,7 +117,7 @@ public class DelegatingWebFluxConfigurationIntegrationTests { @Test void responseEntityResultHandlerWithPrimaryUsesQualifiedReactiveAdapterRegistry() { - load(registerPrimaryBean("testReactiveAdapterRegistry", ReactiveAdapterRegistry.class)); + load(registerPrimaryBean("testReactiveAdapterRegistry", ReactiveAdapterRegistry.class, new ReactiveAdapterRegistry())); ResponseEntityResultHandler responseEntityResultHandler = this.context.getBean(ResponseEntityResultHandler.class); assertThat(responseEntityResultHandler.getAdapterRegistry()).isSameAs(this.context.getBean("webFluxAdapterRegistry")); assertThat(this.context.getBeansOfType(ReactiveAdapterRegistry.class)).containsOnlyKeys( @@ -143,7 +143,7 @@ public class DelegatingWebFluxConfigurationIntegrationTests { @Test void responseBodyResultHandlerWithPrimaryUsesQualifiedReactiveAdapterRegistry() { - load(registerPrimaryBean("testReactiveAdapterRegistry", ReactiveAdapterRegistry.class)); + load(registerPrimaryBean("testReactiveAdapterRegistry", ReactiveAdapterRegistry.class, new ReactiveAdapterRegistry())); ResponseBodyResultHandler responseBodyResultHandler = this.context.getBean(ResponseBodyResultHandler.class); assertThat(responseBodyResultHandler.getAdapterRegistry()).isSameAs(this.context.getBean("webFluxAdapterRegistry")); assertThat(this.context.getBeansOfType(ReactiveAdapterRegistry.class)).containsOnlyKeys( @@ -169,7 +169,7 @@ public class DelegatingWebFluxConfigurationIntegrationTests { @Test void viewResolutionResultHandlerWithPrimaryUsesQualifiedReactiveAdapterRegistry() { - load(registerPrimaryBean("testReactiveAdapterRegistry", ReactiveAdapterRegistry.class)); + load(registerPrimaryBean("testReactiveAdapterRegistry", ReactiveAdapterRegistry.class, new ReactiveAdapterRegistry())); ViewResolutionResultHandler viewResolutionResultHandler = this.context.getBean(ViewResolutionResultHandler.class); assertThat(viewResolutionResultHandler.getAdapterRegistry()).isSameAs(this.context.getBean("webFluxAdapterRegistry")); assertThat(this.context.getBeansOfType(ReactiveAdapterRegistry.class)).containsOnlyKeys( @@ -189,6 +189,10 @@ public class DelegatingWebFluxConfigurationIntegrationTests { return context -> context.registerBean(beanName, type, () -> mock(type), definition -> definition.setPrimary(true)); } + private Consumer registerPrimaryBean(String beanName, Class type, T instance) { + return context -> context.registerBean(beanName, type, () -> instance, definition -> definition.setPrimary(true)); + } + private void load(Consumer context) { AnnotationConfigApplicationContext testContext = new AnnotationConfigApplicationContext(); context.accept(testContext); @@ -196,4 +200,5 @@ public class DelegatingWebFluxConfigurationIntegrationTests { testContext.refresh(); this.context = testContext; } + }