Skip to content

Commit d9e39f1

Browse files
committed
unit tests
1 parent b44530c commit d9e39f1

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed

sdk/metrics/src/test/java/io/opentelemetry/sdk/metrics/SdkMeterProviderTest.java

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,10 @@
2828
import io.opentelemetry.context.Scope;
2929
import io.opentelemetry.sdk.common.CompletableResultCode;
3030
import io.opentelemetry.sdk.common.InstrumentationScopeInfo;
31+
import io.opentelemetry.sdk.internal.ScopeConfigurator;
3132
import io.opentelemetry.sdk.metrics.data.MetricData;
3233
import io.opentelemetry.sdk.metrics.export.MetricReader;
34+
import io.opentelemetry.sdk.metrics.internal.MeterConfig;
3335
import io.opentelemetry.sdk.metrics.internal.SdkMeterProviderUtil;
3436
import io.opentelemetry.sdk.metrics.internal.view.ViewRegistry;
3537
import io.opentelemetry.sdk.resources.Resource;
@@ -47,6 +49,7 @@
4749
import java.util.concurrent.TimeoutException;
4850
import java.util.concurrent.atomic.AtomicBoolean;
4951
import java.util.function.Consumer;
52+
import org.assertj.core.api.Assertions;
5053
import org.junit.jupiter.api.Test;
5154
import org.junit.jupiter.api.extension.ExtendWith;
5255
import org.junit.jupiter.api.extension.RegisterExtension;
@@ -1030,6 +1033,34 @@ void resetForTest() {
10301033
sum -> sum.isCumulative().hasPointsSatisfying(point -> point.hasValue(1))));
10311034
}
10321035

1036+
private static ScopeConfigurator<MeterConfig> flipConfigurator(boolean enabled) {
1037+
return scopeInfo -> enabled ? MeterConfig.disabled() : MeterConfig.enabled();
1038+
}
1039+
1040+
@Test
1041+
void propagatesEnablementToLoggerDirectly() {
1042+
SdkMeterProvider meterProvider =
1043+
SdkMeterProvider.builder().registerMetricReader(InMemoryMetricReader.create()).build();
1044+
SdkMeter meter = (SdkMeter) meterProvider.get("test");
1045+
boolean isEnabled = meter.isMeterEnabled();
1046+
1047+
meterProvider.setMeterConfigurator(flipConfigurator(isEnabled));
1048+
1049+
Assertions.assertThat(meter.isMeterEnabled()).isEqualTo(!isEnabled);
1050+
}
1051+
1052+
@Test
1053+
void propagatesEnablementToLoggerByUtil() {
1054+
SdkMeterProvider sdkMeterProvider =
1055+
SdkMeterProvider.builder().registerMetricReader(InMemoryMetricReader.create()).build();
1056+
SdkMeter sdkMeter = (SdkMeter) sdkMeterProvider.get("test");
1057+
boolean isEnabled = sdkMeter.isMeterEnabled();
1058+
1059+
SdkMeterProviderUtil.setMeterConfigurator(sdkMeterProvider, flipConfigurator(isEnabled));
1060+
1061+
Assertions.assertThat(sdkMeter.isMeterEnabled()).isEqualTo(!isEnabled);
1062+
}
1063+
10331064
private static void registerViewForAllTypes(
10341065
SdkMeterProviderBuilder meterProviderBuilder, Aggregation aggregation) {
10351066
for (InstrumentType instrumentType : InstrumentType.values()) {

sdk/metrics/src/test/java/io/opentelemetry/sdk/metrics/SdkMeterTest.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import io.opentelemetry.api.metrics.Meter;
1919
import io.opentelemetry.api.metrics.MeterProvider;
2020
import io.opentelemetry.internal.testing.slf4j.SuppressLogger;
21+
import io.opentelemetry.sdk.metrics.internal.MeterConfig;
2122
import io.opentelemetry.sdk.metrics.internal.state.MetricStorageRegistry;
2223
import io.opentelemetry.sdk.testing.exporter.InMemoryMetricReader;
2324
import java.util.Locale;
@@ -481,4 +482,16 @@ void stringRepresentation() {
481482
+ "attributes={}"
482483
+ "}}");
483484
}
485+
486+
@Test
487+
void updateEnabled() {
488+
SdkMeterProvider sdkMeterProvider =
489+
SdkMeterProvider.builder().registerMetricReader(InMemoryMetricReader.create()).build();
490+
SdkMeter meter = (SdkMeter) sdkMeterProvider.get("test");
491+
492+
meter.updateMeterConfig(MeterConfig.disabled());
493+
assertThat(meter.isMeterEnabled()).isFalse();
494+
meter.updateMeterConfig(MeterConfig.enabled());
495+
assertThat(meter.isMeterEnabled()).isTrue();
496+
}
484497
}

0 commit comments

Comments
 (0)