From 0f347b6299843e4c7134cc04999fff7ded165751 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger <gregor.zeitlinger@grafana.com> Date: Tue, 28 Jan 2025 10:04:39 +0100 Subject: [PATCH] improve test --- .../spring/actuator/v2_0/ActuatorTest.java | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/instrumentation/spring/spring-boot-actuator-autoconfigure-2.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/actuator/v2_0/ActuatorTest.java b/instrumentation/spring/spring-boot-actuator-autoconfigure-2.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/actuator/v2_0/ActuatorTest.java index 5fb933fed247..09f03bab322a 100644 --- a/instrumentation/spring/spring-boot-actuator-autoconfigure-2.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/actuator/v2_0/ActuatorTest.java +++ b/instrumentation/spring/spring-boot-actuator-autoconfigure-2.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/spring/actuator/v2_0/ActuatorTest.java @@ -15,6 +15,9 @@ import io.opentelemetry.instrumentation.testing.junit.AgentInstrumentationExtension; import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension; import io.opentelemetry.javaagent.instrumentation.spring.actuator.v2_0.SpringApp.TestBean; +import java.util.Collection; +import org.assertj.core.api.AbstractCollectionAssert; +import org.assertj.core.api.ObjectAssert; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; import org.springframework.boot.SpringApplication; @@ -57,9 +60,19 @@ void shouldInjectOtelMeterRegistry() { "value")))))); MeterRegistry meterRegistry = context.getBean(MeterRegistry.class); - assertThat(meterRegistry).isNotNull().isInstanceOf(CompositeMeterRegistry.class); - assertThat(((CompositeMeterRegistry) meterRegistry).getRegistries()) - .anyMatch(r -> r.getClass().getSimpleName().equals("OpenTelemetryMeterRegistry")) - .anyMatch(r -> r.getClass().getSimpleName().equals("SimpleMeterRegistry")); + assertThat(meterRegistry).isInstanceOf(CompositeMeterRegistry.class); + AbstractCollectionAssert< + ?, Collection<? extends MeterRegistry>, MeterRegistry, ObjectAssert<MeterRegistry>> + match = + assertThat(((CompositeMeterRegistry) meterRegistry).getRegistries()) + .anyMatch(r -> r.getClass().getSimpleName().equals("OpenTelemetryMeterRegistry")) + .anyMatch(r -> r.getClass().getSimpleName().equals("SimpleMeterRegistry")); + + try { + Class.forName("io.micrometer.prometheusmetrics.PrometheusMeterRegistry"); + match.anyMatch(r -> r.getClass().getSimpleName().equals("PrometheusMeterRegistry")); + } catch (ClassNotFoundException e) { + // not testing prometheus + } } }