From ba515bffaaee05414250e813e366d6811eaf882f Mon Sep 17 00:00:00 2001 From: Ryan Fitzpatrick Date: Mon, 31 Jan 2022 09:27:04 -0500 Subject: [PATCH] jmx metrics: Add test timeouts and mbean server status assertions (#218) --- .../contrib/jmxmetrics/InstrumenterHelperTest.java | 8 ++++++++ .../contrib/jmxmetrics/MBeanHelperTest.java | 9 +++++++++ .../contrib/jmxmetrics/OtelHelperJmxTest.java | 10 +++++++++- 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/jmx-metrics/src/test/java/io/opentelemetry/contrib/jmxmetrics/InstrumenterHelperTest.java b/jmx-metrics/src/test/java/io/opentelemetry/contrib/jmxmetrics/InstrumenterHelperTest.java index 8d6910e8..a0a02b01 100644 --- a/jmx-metrics/src/test/java/io/opentelemetry/contrib/jmxmetrics/InstrumenterHelperTest.java +++ b/jmx-metrics/src/test/java/io/opentelemetry/contrib/jmxmetrics/InstrumenterHelperTest.java @@ -8,6 +8,7 @@ package io.opentelemetry.contrib.jmxmetrics; import static io.opentelemetry.sdk.testing.assertj.MetricAssertions.assertThat; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.attributeEntry; import static java.lang.management.ManagementFactory.getPlatformMBeanServer; +import static java.util.concurrent.TimeUnit.SECONDS; import groovy.lang.Closure; import groovy.util.Eval; @@ -38,10 +39,12 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.Timeout; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.CsvSource; import org.junit.jupiter.params.provider.ValueSource; +@Timeout(value = 10, unit = SECONDS) class InstrumenterHelperTest { private static final MBeanServer mbeanServer = getPlatformMBeanServer(); @@ -78,6 +81,11 @@ class InstrumenterHelperTest { jmxServer.stop(); } + @BeforeEach + void confirmServerIsActive() { + assertThat(jmxServer.isActive()).isTrue(); + } + @BeforeEach void setupOtel() { metricReader = InMemoryMetricReader.create(); diff --git a/jmx-metrics/src/test/java/io/opentelemetry/contrib/jmxmetrics/MBeanHelperTest.java b/jmx-metrics/src/test/java/io/opentelemetry/contrib/jmxmetrics/MBeanHelperTest.java index f56d1a26..6dbecd06 100644 --- a/jmx-metrics/src/test/java/io/opentelemetry/contrib/jmxmetrics/MBeanHelperTest.java +++ b/jmx-metrics/src/test/java/io/opentelemetry/contrib/jmxmetrics/MBeanHelperTest.java @@ -6,6 +6,7 @@ package io.opentelemetry.contrib.jmxmetrics; import static java.lang.management.ManagementFactory.getPlatformMBeanServer; +import static java.util.concurrent.TimeUnit.SECONDS; import static org.assertj.core.api.Assertions.assertThat; import java.util.Arrays; @@ -24,8 +25,11 @@ import javax.management.remote.JMXServiceURL; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.Timeout; +@Timeout(value = 10, unit = SECONDS) class MBeanHelperTest { private static final MBeanServer mbeanServer = getPlatformMBeanServer(); @@ -56,6 +60,11 @@ class MBeanHelperTest { jmxServer.stop(); } + @BeforeEach + void confirmServerIsActive() { + assertThat(jmxServer.isActive()).isTrue(); + } + @AfterEach void unregisterBeans() throws Exception { for (ObjectInstance bean : registeredBeans) { diff --git a/jmx-metrics/src/test/java/io/opentelemetry/contrib/jmxmetrics/OtelHelperJmxTest.java b/jmx-metrics/src/test/java/io/opentelemetry/contrib/jmxmetrics/OtelHelperJmxTest.java index 7b5e9260..4a463a56 100644 --- a/jmx-metrics/src/test/java/io/opentelemetry/contrib/jmxmetrics/OtelHelperJmxTest.java +++ b/jmx-metrics/src/test/java/io/opentelemetry/contrib/jmxmetrics/OtelHelperJmxTest.java @@ -6,6 +6,7 @@ package io.opentelemetry.contrib.jmxmetrics; import static java.lang.management.ManagementFactory.getPlatformMBeanServer; +import static java.util.concurrent.TimeUnit.SECONDS; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatCode; import static org.assertj.core.api.Assertions.assertThatThrownBy; @@ -28,7 +29,9 @@ import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.Timeout; +@Timeout(value = 10, unit = SECONDS) class OtelHelperJmxTest { private static final String thingName = @@ -48,10 +51,15 @@ class OtelHelperJmxTest { @AfterAll static void tearDown() throws Exception { - jmxServer.stop(); mbeanServer.unregisterMBean(new ObjectName(thingName)); } + @AfterEach + void stopServer() throws Exception { + // each test stands up its own server + jmxServer.stop(); + } + @AfterEach void unregisterBeans() throws Exception { for (ObjectInstance bean : registeredBeans) {