From 3ebc8653d583464a2ff9728f6d89ada28dfa84e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Wed, 25 Mar 2026 10:47:41 +0100 Subject: [PATCH] Polish "Add server-side support for custom gRPC conventions" See gh-49730 --- .../GrpcServerObservationAutoConfigurationTests.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/module/spring-boot-grpc-server/src/test/java/org/springframework/boot/grpc/server/autoconfigure/GrpcServerObservationAutoConfigurationTests.java b/module/spring-boot-grpc-server/src/test/java/org/springframework/boot/grpc/server/autoconfigure/GrpcServerObservationAutoConfigurationTests.java index 7aee14b5a0d..0f71043a6f9 100644 --- a/module/spring-boot-grpc-server/src/test/java/org/springframework/boot/grpc/server/autoconfigure/GrpcServerObservationAutoConfigurationTests.java +++ b/module/spring-boot-grpc-server/src/test/java/org/springframework/boot/grpc/server/autoconfigure/GrpcServerObservationAutoConfigurationTests.java @@ -22,6 +22,7 @@ import java.util.Map; import io.grpc.BindableService; import io.grpc.ServerInterceptor; import io.micrometer.context.ContextRegistry; +import io.micrometer.core.instrument.binder.grpc.GrpcServerObservationConvention; import io.micrometer.core.instrument.binder.grpc.ObservationGrpcServerInterceptor; import io.micrometer.core.instrument.kotlin.ObservationCoroutineContextServerInterceptor; import io.micrometer.observation.ObservationRegistry; @@ -35,6 +36,7 @@ import org.springframework.grpc.server.GlobalServerInterceptor; import org.springframework.grpc.server.GrpcServerFactory; import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.mock; /** * Tests for the {@link GrpcServerObservationAutoConfiguration}. @@ -123,6 +125,14 @@ class GrpcServerObservationAutoConfigurationTests { }); } + @Test + void whenCustomConventionBeanIsPresentThenInterceptorUsesIt() { + GrpcServerObservationConvention customConvention = mock(GrpcServerObservationConvention.class); + this.contextRunner.withBean(GrpcServerObservationConvention.class, () -> customConvention) + .run((context) -> assertThat(context.getBean(ObservationGrpcServerInterceptor.class)) + .hasFieldOrPropertyWithValue("customConvention", customConvention)); + } + @Test void whenMicrometerContextPropagationIsNotOnClasspathCoroutineInterceptorIsNotCreated() { this.contextRunner.withClassLoader(new FilteredClassLoader(ContextRegistry.class))