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
+    }
   }
 }