Some more test coverage for OpenTelemetrySDK. (#2130)

* Some more test coverage for OpenTelemetrySDK.

* Fix assertion

* Update OpenTelemetrySdk.java
This commit is contained in:
Anuraag Agrawal 2020-11-26 11:12:56 +09:00 committed by GitHub
parent 883267423e
commit 14d23dcd46
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 4 deletions

View File

@ -219,10 +219,6 @@ public final class OpenTelemetrySdk extends DefaultOpenTelemetry {
private TracerSdkProvider buildTracerProvider() {
TracerProvider tracerProvider = super.tracerProvider;
if (tracerProvider != null) {
if (!(tracerProvider instanceof TracerSdkProvider)) {
throw new IllegalStateException(
"The OpenTelemetrySdk can only be configured with a TracerSdkProvider");
}
return (TracerSdkProvider) tracerProvider;
}
TracerSdkProvider.Builder tracerProviderBuilder = TracerSdkProvider.builder();

View File

@ -6,6 +6,8 @@
package io.opentelemetry.sdk;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatCode;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.assertj.core.api.InstanceOfAssertFactories.type;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.mockito.Mockito.mock;
@ -37,6 +39,24 @@ class OpenTelemetrySdkTest {
@Mock private ContextPropagators propagators;
@Mock private Clock clock;
@Test
void testGetGlobal() {
assertThat(OpenTelemetrySdk.get()).isSameAs(OpenTelemetry.get());
}
@Test
void testGetTracerManagementWhenNotTracerSdk() {
OpenTelemetry previous = OpenTelemetry.get();
assertThatCode(OpenTelemetrySdk::getGlobalTracerManagement).doesNotThrowAnyException();
try {
OpenTelemetry.set(OpenTelemetry.builder().setTracerProvider(tracerProvider).build());
assertThatThrownBy(OpenTelemetrySdk::getGlobalTracerManagement)
.isInstanceOf(IllegalStateException.class);
} finally {
OpenTelemetry.set(previous);
}
}
@Test
void testGlobalDefault() {
assertThat(((TracerSdkProvider) OpenTelemetrySdk.getGlobalTracerManagement()).get(""))