Skip to content

Commit 71ca31c

Browse files
committed
new test
1 parent 138601c commit 71ca31c

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

sdk-extensions/autoconfigure/src/test/java/io/opentelemetry/sdk/autoconfigure/AutoConfiguredOpenTelemetrySdkTest.java

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,9 @@
6565
import java.util.List;
6666
import java.util.Map;
6767
import java.util.Properties;
68+
import java.util.concurrent.ExecutorService;
69+
import java.util.concurrent.Executors;
70+
import java.util.concurrent.Future;
6871
import java.util.concurrent.TimeUnit;
6972
import java.util.function.BiFunction;
7073
import java.util.function.Consumer;
@@ -74,6 +77,7 @@
7477
import org.junit.jupiter.api.extension.ExtendWith;
7578
import org.junit.jupiter.api.extension.RegisterExtension;
7679
import org.mockito.Mock;
80+
import org.mockito.MockedStatic;
7781
import org.mockito.Mockito;
7882
import org.mockito.junit.jupiter.MockitoExtension;
7983
import org.mockito.junit.jupiter.MockitoSettings;
@@ -674,4 +678,36 @@ void configurationError_ClosesResources() {
674678

675679
logs.assertContains("Error closing io.opentelemetry.sdk.trace.SdkTracerProvider: Error!");
676680
}
681+
682+
@Test
683+
@SuppressWarnings("unchecked")
684+
void test() throws Exception {
685+
AutoConfiguredOpenTelemetrySdkBuilder globalBuilder = builder.setResultAsGlobal();
686+
ExecutorService executor = Executors.newSingleThreadExecutor();
687+
688+
OpenTelemetry gotGetOutput;
689+
AutoConfiguredOpenTelemetrySdk autoConfiguredSdk;
690+
try (MockedStatic<GlobalOpenTelemetry> mockGot =
691+
Mockito.mockStatic(GlobalOpenTelemetry.class)) {
692+
mockGot.when(GlobalOpenTelemetry::get).thenCallRealMethod();
693+
mockGot.when(() -> GlobalOpenTelemetry.set(any(Supplier.class))).thenCallRealMethod();
694+
mockGot
695+
.when(() -> GlobalOpenTelemetry.set(any(OpenTelemetry.class)))
696+
.then(
697+
invocation -> {
698+
Thread.sleep(1000);
699+
return invocation.callRealMethod();
700+
});
701+
702+
Future<AutoConfiguredOpenTelemetrySdk> autoConfiguredSdkFuture =
703+
executor.submit(globalBuilder::build);
704+
gotGetOutput = GlobalOpenTelemetry.get();
705+
autoConfiguredSdk = autoConfiguredSdkFuture.get();
706+
}
707+
assertThat(gotGetOutput)
708+
.extracting("delegate")
709+
.isSameAs(autoConfiguredSdk.getOpenTelemetrySdk());
710+
711+
executor.shutdown();
712+
}
677713
}

0 commit comments

Comments
 (0)