Skip to content

Commit 1a244dc

Browse files
committed
test coverage
1 parent d243825 commit 1a244dc

1 file changed

Lines changed: 27 additions & 0 deletions

File tree

api/incubator/src/test/java/io/opentelemetry/api/incubator/ExtendedOpenTelemetryTest.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import java.io.ByteArrayInputStream;
3232
import java.nio.charset.StandardCharsets;
3333
import java.util.Arrays;
34+
import java.util.concurrent.atomic.AtomicInteger;
3435
import org.junit.jupiter.api.BeforeEach;
3536
import org.junit.jupiter.api.Test;
3637

@@ -111,6 +112,32 @@ void instrumentationConfig() {
111112
.isEqualTo(Arrays.asList("client-request-header1", "client-request-header2"));
112113
}
113114

115+
@Test
116+
void close_shutsDownConfigProvider() {
117+
String configYaml =
118+
"instrumentation/development:\n"
119+
+ " general:\n"
120+
+ " http:\n"
121+
+ " enabled: \"false\"";
122+
SdkConfigProvider configProvider =
123+
SdkConfigProvider.create(
124+
DeclarativeConfiguration.toConfigProperties(
125+
new ByteArrayInputStream(configYaml.getBytes(StandardCharsets.UTF_8))));
126+
ExtendedOpenTelemetrySdk sdk =
127+
ExtendedOpenTelemetrySdk.create(OpenTelemetrySdk.builder().build(), configProvider);
128+
129+
AtomicInteger callbackCount = new AtomicInteger();
130+
configProvider.addConfigChangeListener(
131+
".instrumentation/development.general.http",
132+
(path, newConfig) -> callbackCount.incrementAndGet());
133+
134+
sdk.close();
135+
136+
configProvider.setConfigProperty(
137+
".instrumentation/development.general.http", "enabled", "true");
138+
assertThat(callbackCount.get()).isEqualTo(0);
139+
}
140+
114141
@Test
115142
void instrumentationConfigFallback() {
116143
ConfigProvider configProvider = ConfigProvider.noop();

0 commit comments

Comments
 (0)