Skip to content

Commit 48d1e2c

Browse files
committed
add test
1 parent 93cf436 commit 48d1e2c

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

sdk-extensions/incubator/src/main/java/io/opentelemetry/sdk/extension/incubator/fileconfig/DeclarativeConfiguration.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -410,8 +410,8 @@ private StringBuilder envVarSubstitution(
410410
}
411411
}
412412

413-
private static void callAutoConfigureListeners(
414-
SpiHelper spiHelper, OpenTelemetrySdk openTelemetrySdk) {
413+
// Visible for testing
414+
static void callAutoConfigureListeners(SpiHelper spiHelper, OpenTelemetrySdk openTelemetrySdk) {
415415
for (AutoConfigureListener listener : spiHelper.getListeners()) {
416416
try {
417417
listener.afterAutoConfigure(openTelemetrySdk);

sdk-extensions/incubator/src/test/java/io/opentelemetry/sdk/extension/incubator/fileconfig/DeclarativeConfigurationCreateTest.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,16 @@
99
import static org.assertj.core.api.Assertions.assertThat;
1010
import static org.assertj.core.api.Assertions.assertThatCode;
1111
import static org.assertj.core.api.Assertions.assertThatThrownBy;
12+
import static org.mockito.Mockito.mock;
13+
import static org.mockito.Mockito.when;
1214

1315
import com.linecorp.armeria.testing.junit5.server.SelfSignedCertificateExtension;
1416
import io.github.netmikey.logunit.api.LogCapturer;
1517
import io.opentelemetry.api.incubator.config.DeclarativeConfigException;
1618
import io.opentelemetry.common.ComponentLoader;
1719
import io.opentelemetry.internal.testing.CleanupExtension;
1820
import io.opentelemetry.sdk.extension.incubator.ExtendedOpenTelemetrySdk;
21+
import io.opentelemetry.sdk.autoconfigure.internal.SpiHelper;
1922
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.OpenTelemetryConfigurationModel;
2023
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.SpanProcessorModel;
2124
import io.opentelemetry.sdk.extension.incubator.fileconfig.internal.model.TracerProviderModel;
@@ -173,4 +176,21 @@ void create_ModelCustomizer() {
173176
+ "telemetry.sdk.name=\"opentelemetry\", "
174177
+ "telemetry.sdk.version=\"");
175178
}
179+
180+
@Test
181+
void callAutoConfigureListeners_exceptionIsCaught() {
182+
SpiHelper spiHelper = mock(SpiHelper.class);
183+
when(spiHelper.getListeners())
184+
.thenReturn(
185+
Collections.singleton(
186+
sdk -> {
187+
throw new RuntimeException("Test exception from AutoConfigureListener");
188+
}));
189+
190+
assertThatCode(
191+
() ->
192+
DeclarativeConfiguration.callAutoConfigureListeners(
193+
spiHelper, OpenTelemetrySdk.builder().build()))
194+
.doesNotThrowAnyException();
195+
}
176196
}

0 commit comments

Comments
 (0)