diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/pulsar/PulsarAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/pulsar/PulsarAutoConfigurationTests.java index 7e0fb8b2b2f8..3df54e006fd1 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/pulsar/PulsarAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/pulsar/PulsarAutoConfigurationTests.java @@ -27,8 +27,6 @@ import org.apache.pulsar.client.api.ReaderBuilder; import org.apache.pulsar.client.api.interceptor.ProducerInterceptor; import org.apache.pulsar.common.schema.SchemaType; -import org.assertj.core.api.InstanceOfAssertFactories; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.EnabledForJreRange; @@ -285,24 +283,29 @@ void injectsExpectedBeans() { } @Test - @Disabled("Changes in https://github.com/spring-projects/spring-pulsar/issues/593 prevent introspection of the interceptors") - void whenHasUseDefinedProducerInterceptorInjectsBean() { + void whenHasUseDefinedProducerInterceptorInjectsBean() { ProducerInterceptor interceptor = mock(ProducerInterceptor.class); this.contextRunner.withBean("customProducerInterceptor", ProducerInterceptor.class, () -> interceptor) - .run((context) -> assertThat(context).getBean(PulsarTemplate.class) - .extracting("interceptorsCustomizers") - .asInstanceOf(InstanceOfAssertFactories.LIST) - .contains(interceptor)); + .run((context) -> { + PulsarTemplate pulsarTemplate = context.getBean(PulsarTemplate.class); + Customizers, ProducerBuilder> customizers = Customizers + .of(ProducerBuilder.class, ProducerBuilderCustomizer::customize); + assertThat(customizers.fromField(pulsarTemplate, "interceptorsCustomizers")) + .callsInOrder(ProducerBuilder::intercept, interceptor); + }); } @Test - @Disabled("Changes in https://github.com/spring-projects/spring-pulsar/issues/593 prevent introspection of the interceptors") - void whenHasUseDefinedProducerInterceptorsInjectsBeansInCorrectOrder() { - this.contextRunner.withUserConfiguration(InterceptorTestConfiguration.class) - .run((context) -> assertThat(context).getBean(PulsarTemplate.class) - .extracting("interceptorsCustomizers") - .asInstanceOf(InstanceOfAssertFactories.LIST) - .containsExactly(context.getBean("interceptorBar"), context.getBean("interceptorFoo"))); + void whenHasUseDefinedProducerInterceptorsInjectsBeansInCorrectOrder() { + this.contextRunner.withUserConfiguration(InterceptorTestConfiguration.class).run((context) -> { + ProducerInterceptor interceptorFoo = context.getBean("interceptorFoo", ProducerInterceptor.class); + ProducerInterceptor interceptorBar = context.getBean("interceptorBar", ProducerInterceptor.class); + PulsarTemplate pulsarTemplate = context.getBean(PulsarTemplate.class); + Customizers, ProducerBuilder> customizers = Customizers + .of(ProducerBuilder.class, ProducerBuilderCustomizer::customize); + assertThat(customizers.fromField(pulsarTemplate, "interceptorsCustomizers")) + .callsInOrder(ProducerBuilder::intercept, interceptorBar, interceptorFoo); + }); } @Test