Stop publishing test fixtures with opentelemetry-api (#6695)

This commit is contained in:
jack-berg 2024-09-09 21:02:28 -05:00 committed by GitHub
parent b0643fef38
commit 9ddccada89
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
16 changed files with 74 additions and 19 deletions

View File

@ -1,7 +1,6 @@
plugins { plugins {
id("otel.java-conventions") id("otel.java-conventions")
id("otel.publish-conventions") id("otel.publish-conventions")
id("java-test-fixtures")
id("otel.jmh-conventions") id("otel.jmh-conventions")
id("otel.animalsniffer-conventions") id("otel.animalsniffer-conventions")
@ -16,12 +15,10 @@ dependencies {
annotationProcessor("com.google.auto.value:auto-value") annotationProcessor("com.google.auto.value:auto-value")
testImplementation(project(":api:testing-internal"))
testImplementation("edu.berkeley.cs.jqf:jqf-fuzz") testImplementation("edu.berkeley.cs.jqf:jqf-fuzz")
testImplementation("com.google.guava:guava-testlib") testImplementation("com.google.guava:guava-testlib")
testFixturesApi(project(":testing-internal"))
testFixturesApi("junit:junit")
testFixturesApi("org.assertj:assertj-core")
testFixturesApi("org.mockito:mockito-core")
} }
tasks.test { tasks.test {

View File

@ -7,6 +7,7 @@ package io.opentelemetry.api;
import io.opentelemetry.api.logs.LoggerProvider; import io.opentelemetry.api.logs.LoggerProvider;
import io.opentelemetry.api.metrics.MeterProvider; import io.opentelemetry.api.metrics.MeterProvider;
import io.opentelemetry.api.testing.internal.AbstractOpenTelemetryTest;
import io.opentelemetry.api.trace.TracerProvider; import io.opentelemetry.api.trace.TracerProvider;
class OpenTelemetryTest extends AbstractOpenTelemetryTest { class OpenTelemetryTest extends AbstractOpenTelemetryTest {

View File

@ -5,6 +5,8 @@
package io.opentelemetry.api.logs; package io.opentelemetry.api.logs;
import io.opentelemetry.api.testing.internal.AbstractDefaultLoggerTest;
class DefaultLoggerTest extends AbstractDefaultLoggerTest { class DefaultLoggerTest extends AbstractDefaultLoggerTest {
@Override @Override

View File

@ -5,6 +5,8 @@
package io.opentelemetry.api.metrics; package io.opentelemetry.api.metrics;
import io.opentelemetry.api.testing.internal.AbstractDefaultMeterTest;
public class DefaultMeterTest extends AbstractDefaultMeterTest { public class DefaultMeterTest extends AbstractDefaultMeterTest {
@Override @Override

View File

@ -5,6 +5,8 @@
package io.opentelemetry.api.trace; package io.opentelemetry.api.trace;
import io.opentelemetry.api.testing.internal.AbstractDefaultTracerTest;
class DefaultTracerTest extends AbstractDefaultTracerTest { class DefaultTracerTest extends AbstractDefaultTracerTest {
@Override @Override

View File

@ -15,7 +15,7 @@ dependencies {
annotationProcessor("com.google.auto.value:auto-value") annotationProcessor("com.google.auto.value:auto-value")
testImplementation(project(":sdk:testing")) testImplementation(project(":sdk:testing"))
testImplementation(testFixtures(project(":api:all"))) testImplementation(project(":api:testing-internal"))
testImplementation("io.opentelemetry.semconv:opentelemetry-semconv-incubating") testImplementation("io.opentelemetry.semconv:opentelemetry-semconv-incubating")

View File

@ -7,7 +7,6 @@ package io.opentelemetry.api.incubator;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import io.opentelemetry.api.AbstractOpenTelemetryTest;
import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.api.incubator.logs.ExtendedDefaultLoggerProvider; import io.opentelemetry.api.incubator.logs.ExtendedDefaultLoggerProvider;
import io.opentelemetry.api.incubator.logs.ExtendedLogger; import io.opentelemetry.api.incubator.logs.ExtendedLogger;
@ -17,6 +16,7 @@ import io.opentelemetry.api.incubator.trace.ExtendedDefaultTracerProvider;
import io.opentelemetry.api.incubator.trace.ExtendedTracer; import io.opentelemetry.api.incubator.trace.ExtendedTracer;
import io.opentelemetry.api.logs.LoggerProvider; import io.opentelemetry.api.logs.LoggerProvider;
import io.opentelemetry.api.metrics.MeterProvider; import io.opentelemetry.api.metrics.MeterProvider;
import io.opentelemetry.api.testing.internal.AbstractOpenTelemetryTest;
import io.opentelemetry.api.trace.TracerProvider; import io.opentelemetry.api.trace.TracerProvider;
import io.opentelemetry.context.propagation.ContextPropagators; import io.opentelemetry.context.propagation.ContextPropagators;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;

View File

@ -8,9 +8,9 @@ package io.opentelemetry.api.incubator.logs;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import io.opentelemetry.api.common.Value; import io.opentelemetry.api.common.Value;
import io.opentelemetry.api.logs.AbstractDefaultLoggerTest;
import io.opentelemetry.api.logs.Logger; import io.opentelemetry.api.logs.Logger;
import io.opentelemetry.api.logs.LoggerProvider; import io.opentelemetry.api.logs.LoggerProvider;
import io.opentelemetry.api.testing.internal.AbstractDefaultLoggerTest;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
class ExtendedDefaultLoggerTest extends AbstractDefaultLoggerTest { class ExtendedDefaultLoggerTest extends AbstractDefaultLoggerTest {

View File

@ -8,9 +8,9 @@ package io.opentelemetry.api.incubator.metrics;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.api.metrics.AbstractDefaultMeterTest;
import io.opentelemetry.api.metrics.Meter; import io.opentelemetry.api.metrics.Meter;
import io.opentelemetry.api.metrics.MeterProvider; import io.opentelemetry.api.metrics.MeterProvider;
import io.opentelemetry.api.testing.internal.AbstractDefaultMeterTest;
import org.assertj.core.api.Assertions; import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;

View File

@ -8,7 +8,7 @@ package io.opentelemetry.api.incubator.trace;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.api.trace.AbstractDefaultTracerTest; import io.opentelemetry.api.testing.internal.AbstractDefaultTracerTest;
import io.opentelemetry.api.trace.Tracer; import io.opentelemetry.api.trace.Tracer;
import io.opentelemetry.api.trace.TracerProvider; import io.opentelemetry.api.trace.TracerProvider;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;

View File

@ -0,0 +1,21 @@
plugins {
id("otel.java-conventions")
}
description = "OpenTelemetry API Testing (Internal)"
otelJava.moduleName.set("io.opentelemetry.api.testing.internal")
dependencies {
api(project(":api:all"))
implementation(project(":testing-internal"))
implementation("com.linecorp.armeria:armeria-junit5")
implementation("org.assertj:assertj-core")
implementation("org.mockito:mockito-core")
}
// Skip OWASP dependencyCheck task on test module
dependencyCheck {
skip = true
}

View File

@ -3,7 +3,7 @@
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
package io.opentelemetry.api.logs; package io.opentelemetry.api.testing.internal;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatCode; import static org.assertj.core.api.Assertions.assertThatCode;
@ -11,12 +11,15 @@ import static org.assertj.core.api.Assertions.assertThatCode;
import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.AttributeKey;
import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.common.Value; import io.opentelemetry.api.common.Value;
import io.opentelemetry.api.logs.Logger;
import io.opentelemetry.api.logs.LoggerProvider;
import io.opentelemetry.api.logs.Severity;
import io.opentelemetry.context.Context; import io.opentelemetry.context.Context;
import java.time.Instant; import java.time.Instant;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
/** Unit tests for {@link DefaultLogger}. */ /** Unit tests for No-op {@link Logger}. */
public abstract class AbstractDefaultLoggerTest { public abstract class AbstractDefaultLoggerTest {
protected abstract LoggerProvider getLoggerProvider(); protected abstract LoggerProvider getLoggerProvider();

View File

@ -3,16 +3,28 @@
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
package io.opentelemetry.api.metrics; package io.opentelemetry.api.testing.internal;
import static io.opentelemetry.api.common.AttributeKey.stringKey; import static io.opentelemetry.api.common.AttributeKey.stringKey;
import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.metrics.DoubleCounter;
import io.opentelemetry.api.metrics.DoubleGauge;
import io.opentelemetry.api.metrics.DoubleHistogram;
import io.opentelemetry.api.metrics.DoubleUpDownCounter;
import io.opentelemetry.api.metrics.LongCounter;
import io.opentelemetry.api.metrics.LongGauge;
import io.opentelemetry.api.metrics.LongHistogram;
import io.opentelemetry.api.metrics.LongUpDownCounter;
import io.opentelemetry.api.metrics.Meter;
import io.opentelemetry.api.metrics.MeterProvider;
import io.opentelemetry.api.metrics.ObservableDoubleMeasurement;
import io.opentelemetry.api.metrics.ObservableLongMeasurement;
import io.opentelemetry.context.Context; import io.opentelemetry.context.Context;
import io.opentelemetry.internal.testing.slf4j.SuppressLogger; import io.opentelemetry.internal.testing.slf4j.SuppressLogger;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
/** Unit tests for {@link DefaultMeter}. */ /** Unit tests for No-op {@link Meter}. */
@SuppressLogger() @SuppressLogger()
public abstract class AbstractDefaultMeterTest { public abstract class AbstractDefaultMeterTest {
private final Meter meter = getMeter(); private final Meter meter = getMeter();
@ -245,6 +257,7 @@ public abstract class AbstractDefaultMeterTest {
} }
@Test @Test
@SuppressWarnings("NullAway")
void noopBatchCallback_doesNotThrow() { void noopBatchCallback_doesNotThrow() {
meter.batchCallback(() -> {}, null); meter.batchCallback(() -> {}, null);
} }

View File

@ -3,7 +3,7 @@
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
package io.opentelemetry.api.trace; package io.opentelemetry.api.testing.internal;
import static io.opentelemetry.api.common.AttributeKey.stringKey; import static io.opentelemetry.api.common.AttributeKey.stringKey;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
@ -11,12 +11,19 @@ import static org.assertj.core.api.Assertions.assertThatCode;
import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.AttributeKey;
import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.SpanBuilder;
import io.opentelemetry.api.trace.SpanContext;
import io.opentelemetry.api.trace.TraceFlags;
import io.opentelemetry.api.trace.TraceState;
import io.opentelemetry.api.trace.Tracer;
import io.opentelemetry.api.trace.TracerProvider;
import io.opentelemetry.context.Context; import io.opentelemetry.context.Context;
import java.time.Instant; import java.time.Instant;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
/** Unit tests for {@link DefaultTracer}. */ /** Unit tests for No-op {@link Tracer}. */
// Need to suppress warnings for MustBeClosed because Android 14 does not support // Need to suppress warnings for MustBeClosed because Android 14 does not support
// try-with-resources. // try-with-resources.
@SuppressWarnings("MustBeClosedChecker") @SuppressWarnings("MustBeClosedChecker")
@ -56,6 +63,7 @@ public abstract class AbstractDefaultTracerTest {
} }
@Test @Test
@SuppressWarnings("NullAway")
void spanContextPropagationExplicitParent() { void spanContextPropagationExplicitParent() {
assertThat( assertThat(
defaultTracer defaultTracer
@ -109,6 +117,7 @@ public abstract class AbstractDefaultTracerTest {
} }
@Test @Test
@SuppressWarnings("NullAway")
void doNotCrash_NoopImplementation() { void doNotCrash_NoopImplementation() {
assertThatCode( assertThatCode(
() -> { () -> {

View File

@ -3,11 +3,13 @@
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
package io.opentelemetry.api; package io.opentelemetry.api.testing.internal;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.assertj.core.api.Assertions.assertThatThrownBy;
import io.opentelemetry.api.GlobalOpenTelemetry;
import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.api.logs.LoggerProvider; import io.opentelemetry.api.logs.LoggerProvider;
import io.opentelemetry.api.metrics.MeterProvider; import io.opentelemetry.api.metrics.MeterProvider;
import io.opentelemetry.api.trace.TracerProvider; import io.opentelemetry.api.trace.TracerProvider;
@ -17,8 +19,9 @@ import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.mockito.Mockito; import org.mockito.Mockito;
/** Unit tests for {@link OpenTelemetry}. */ /** Unit tests for No-op {@link OpenTelemetry}. */
public abstract class AbstractOpenTelemetryTest { public abstract class AbstractOpenTelemetryTest {
@BeforeAll @BeforeAll
public static void beforeClass() { public static void beforeClass() {
GlobalOpenTelemetry.resetForTest(); GlobalOpenTelemetry.resetForTest();
@ -96,7 +99,8 @@ public abstract class AbstractOpenTelemetryTest {
@Test @Test
void getThenSet() { void getThenSet() {
assertThat(getGlobalOpenTelemetry()).isInstanceOf(DefaultOpenTelemetry.class); assertThat(getGlobalOpenTelemetry().getClass().getName())
.isEqualTo("io.opentelemetry.api.DefaultOpenTelemetry");
assertThatThrownBy(() -> GlobalOpenTelemetry.set(getOpenTelemetry())) assertThatThrownBy(() -> GlobalOpenTelemetry.set(getOpenTelemetry()))
.isInstanceOf(IllegalStateException.class) .isInstanceOf(IllegalStateException.class)
.hasMessageContaining("GlobalOpenTelemetry.set has already been called") .hasMessageContaining("GlobalOpenTelemetry.set has already been called")

View File

@ -25,6 +25,7 @@ rootProject.name = "opentelemetry-java"
include(":all") include(":all")
include(":api:all") include(":api:all")
include(":api:incubator") include(":api:incubator")
include(":api:testing-internal")
include(":bom") include(":bom")
include(":bom-alpha") include(":bom-alpha")
include(":context") include(":context")