Skip to content

Commit 413e077

Browse files
committed
fix opentelemetry-api tests
1 parent 3980d6b commit 413e077

File tree

10 files changed

+79
-17
lines changed

10 files changed

+79
-17
lines changed

instrumentation/opentelemetry-api/opentelemetry-api-1.32/javaagent/build.gradle.kts

+3
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ configurations.configureEach {
2121
resolutionStrategy {
2222
force("io.opentelemetry:opentelemetry-api:1.32.0")
2323
}
24+
if (name.equals("testRuntimeClasspath")) {
25+
exclude(group = "io.opentelemetry", module = "opentelemetry-api-incubator")
26+
}
2427
}
2528
}
2629

instrumentation/opentelemetry-api/opentelemetry-api-1.32/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_32/metrics/MeterTest.java

+10
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat;
1010
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo;
1111
import static java.util.Collections.singletonList;
12+
import static org.assertj.core.api.Assertions.assertThatThrownBy;
1213

1314
import io.opentelemetry.api.common.Attributes;
1415
import io.opentelemetry.api.metrics.DoubleHistogram;
@@ -44,6 +45,15 @@ void setupMeter(TestInfo test) {
4445
.build();
4546
}
4647

48+
@Test
49+
void incubatingApiNotAvailable() {
50+
assertThatThrownBy(
51+
() ->
52+
Class.forName(
53+
"io.opentelemetry.extension.incubator.metrics.ExtendedDoubleGaugeBuilder"))
54+
.isInstanceOf(ClassNotFoundException.class);
55+
}
56+
4757
@Test
4858
void longHistogram() {
4959
LongHistogramBuilder builder =

instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/build.gradle.kts

+4-5
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,15 @@ configurations.configureEach {
2121
force("io.opentelemetry:opentelemetry-api:1.37.0")
2222
force("io.opentelemetry:opentelemetry-api-incubator:1.37.0-alpha")
2323
}
24-
if (name.startsWith("incubatorTest") || name.startsWith("noopTest")) {
25-
resolutionStrategy {
26-
force("io.opentelemetry:opentelemetry-api-incubator:1.37.0-alpha")
27-
}
28-
} else if (name.startsWith("oldAndNewIncubatorTest")) {
24+
if (name.startsWith("oldAndNewIncubatorTest")) {
2925
resolutionStrategy {
3026
force("io.opentelemetry:opentelemetry-api-incubator:1.37.0-alpha")
3127
force("io.opentelemetry:opentelemetry-extension-incubator:1.32.0-alpha")
3228
}
3329
}
30+
if (name.equals("testRuntimeClasspath")) {
31+
exclude(group = "io.opentelemetry", module = "opentelemetry-api-incubator")
32+
}
3433
}
3534
}
3635

instrumentation/opentelemetry-api/opentelemetry-api-1.37/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_37/metrics/MeterTest.java

+8
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat;
1010
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo;
1111
import static java.util.Collections.singletonList;
12+
import static org.assertj.core.api.Assertions.assertThatThrownBy;
1213

1314
import io.opentelemetry.api.common.Attributes;
1415
import io.opentelemetry.api.metrics.DoubleHistogram;
@@ -44,6 +45,13 @@ void setupMeter(TestInfo test) {
4445
.build();
4546
}
4647

48+
@Test
49+
void incubatingApiNotAvailable() {
50+
assertThatThrownBy(
51+
() -> Class.forName("io.opentelemetry.api.incubator.metrics.ExtendedLongGaugeBuilder"))
52+
.isInstanceOf(ClassNotFoundException.class);
53+
}
54+
4755
@Test
4856
void longHistogram() {
4957
LongHistogramBuilder builder =

instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/build.gradle.kts

+3-4
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,10 @@ configurations.configureEach {
2020
if (name.endsWith("testRuntimeClasspath", true) || name.endsWith("testCompileClasspath", true)) {
2121
resolutionStrategy {
2222
force("io.opentelemetry:opentelemetry-api:1.38.0")
23+
force("io.opentelemetry:opentelemetry-api-incubator:1.38.0-alpha")
2324
}
24-
if (name.startsWith("incubatorTest") || name.startsWith("noopTest")) {
25-
resolutionStrategy {
26-
force("io.opentelemetry:opentelemetry-api-incubator:1.38.0-alpha")
27-
}
25+
if (name.equals("testRuntimeClasspath")) {
26+
exclude(group = "io.opentelemetry", module = "opentelemetry-api-incubator")
2827
}
2928
}
3029
}

instrumentation/opentelemetry-api/opentelemetry-api-1.38/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_38/metrics/MeterTest.java

+8
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import static io.opentelemetry.api.common.AttributeKey.stringKey;
99
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat;
1010
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo;
11+
import static org.assertj.core.api.Assertions.assertThatThrownBy;
1112

1213
import io.opentelemetry.api.common.Attributes;
1314
import io.opentelemetry.api.metrics.DoubleGauge;
@@ -44,6 +45,13 @@ void setupMeter(TestInfo test) {
4445
.build();
4546
}
4647

48+
@Test
49+
void incubatingApiNotAvailable() {
50+
assertThatThrownBy(
51+
() -> Class.forName("io.opentelemetry.api.incubator.metrics.ExtendedLongGaugeBuilder"))
52+
.isInstanceOf(ClassNotFoundException.class);
53+
}
54+
4755
@Test
4856
void syncLongGauge() throws InterruptedException {
4957
LongGaugeBuilder builder =

instrumentation/opentelemetry-api/opentelemetry-api-1.40/javaagent/build.gradle.kts

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ configurations.configureEach {
2323
if (name.endsWith("testRuntimeClasspath", true) || name.endsWith("testCompileClasspath", true)) {
2424
resolutionStrategy {
2525
force("io.opentelemetry:opentelemetry-api:1.40.0")
26+
force("io.opentelemetry:opentelemetry-api-incubator:1.40.0-alpha")
2627
}
2728
}
2829
}

instrumentation/opentelemetry-api/opentelemetry-api-1.42/javaagent/build.gradle.kts

+3-4
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,10 @@ configurations.configureEach {
2222
if (name.endsWith("testRuntimeClasspath", true) || name.endsWith("testCompileClasspath", true)) {
2323
resolutionStrategy {
2424
force("io.opentelemetry:opentelemetry-api:1.42.0")
25+
force("io.opentelemetry:opentelemetry-api-incubator:1.42.0-alpha")
2526
}
26-
if (name.startsWith("incubatorTest")) {
27-
resolutionStrategy {
28-
force("io.opentelemetry:opentelemetry-api-incubator:1.42.0-alpha")
29-
}
27+
if (name.equals("testRuntimeClasspath")) {
28+
exclude(group = "io.opentelemetry", module = "opentelemetry-api-incubator")
3029
}
3130
}
3231
}

instrumentation/opentelemetry-api/opentelemetry-api-1.42/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/opentelemetryapi/v1_42/logs/LoggerTest.java

+7
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
package io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_42.logs;
77

88
import static org.assertj.core.api.Assertions.assertThat;
9+
import static org.assertj.core.api.Assertions.assertThatThrownBy;
910
import static org.awaitility.Awaitility.await;
1011

1112
import io.opentelemetry.api.GlobalOpenTelemetry;
@@ -54,6 +55,12 @@ void setupLogger(TestInfo test) {
5455
.build();
5556
}
5657

58+
@Test
59+
void incubatingApiNotAvailable() {
60+
assertThatThrownBy(() -> Class.forName("io.opentelemetry.api.incubator.logs.ExtendedLogger"))
61+
.isInstanceOf(ClassNotFoundException.class);
62+
}
63+
5764
@Test
5865
void logRecordBuilder() {
5966
SpanContext spanContext =

testing-common/src/main/java/io/opentelemetry/javaagent/testing/common/AgentTestingExporterAccess.java

+32-4
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSummaryData;
4242
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSummaryPointData;
4343
import io.opentelemetry.sdk.metrics.internal.data.ImmutableValueAtQuantile;
44+
import io.opentelemetry.sdk.testing.logs.TestLogRecordData;
4445
import io.opentelemetry.sdk.testing.logs.internal.TestExtendedLogRecordData;
4546
import io.opentelemetry.sdk.testing.trace.TestSpanData;
4647
import io.opentelemetry.sdk.trace.data.EventData;
@@ -96,6 +97,8 @@ public final class AgentTestingExporterAccess {
9697
// opentelemetry-api-1.27:javaagent tests use an older version of opentelemetry-api where Value
9798
// class is missing
9899
private static final boolean canUseValue = classAvailable("io.opentelemetry.api.common.Value");
100+
private static final boolean hasExtendedLogRecordData =
101+
classAvailable("io.opentelemetry.sdk.logs.data.internal.ExtendedLogRecordData");
99102

100103
static {
101104
try {
@@ -416,8 +419,11 @@ private static LogRecordData createLogData(
416419
LogRecord logRecord,
417420
io.opentelemetry.sdk.resources.Resource resource,
418421
InstrumentationScopeInfo instrumentationScopeInfo) {
419-
TestExtendedLogRecordData.Builder builder =
420-
TestExtendedLogRecordData.builder()
422+
if (hasExtendedLogRecordData) {
423+
return createExtendedLogData(logRecord, resource, instrumentationScopeInfo);
424+
}
425+
TestLogRecordData.Builder builder =
426+
TestLogRecordData.builder()
421427
.setResource(resource)
422428
.setInstrumentationScopeInfo(instrumentationScopeInfo)
423429
.setTimestamp(logRecord.getTimeUnixNano(), TimeUnit.NANOSECONDS)
@@ -429,8 +435,7 @@ private static LogRecordData createLogData(
429435
TraceState.getDefault()))
430436
.setSeverity(fromProto(logRecord.getSeverityNumber()))
431437
.setSeverityText(logRecord.getSeverityText())
432-
.setAttributes(fromProto(logRecord.getAttributesList()))
433-
.setEventName(logRecord.getEventName());
438+
.setAttributes(fromProto(logRecord.getAttributesList()));
434439
if (canUseValue) {
435440
builder.setBodyValue(getBodyValue(logRecord.getBody()));
436441
} else {
@@ -439,6 +444,29 @@ private static LogRecordData createLogData(
439444
return builder.build();
440445
}
441446

447+
private static LogRecordData createExtendedLogData(
448+
LogRecord logRecord,
449+
io.opentelemetry.sdk.resources.Resource resource,
450+
InstrumentationScopeInfo instrumentationScopeInfo) {
451+
TestExtendedLogRecordData.Builder builder =
452+
TestExtendedLogRecordData.builder()
453+
.setResource(resource)
454+
.setInstrumentationScopeInfo(instrumentationScopeInfo)
455+
.setTimestamp(logRecord.getTimeUnixNano(), TimeUnit.NANOSECONDS)
456+
.setSpanContext(
457+
SpanContext.create(
458+
bytesToHex(logRecord.getTraceId().toByteArray()),
459+
bytesToHex(logRecord.getSpanId().toByteArray()),
460+
TraceFlags.getDefault(),
461+
TraceState.getDefault()))
462+
.setSeverity(fromProto(logRecord.getSeverityNumber()))
463+
.setSeverityText(logRecord.getSeverityText())
464+
.setAttributes(fromProto(logRecord.getAttributesList()))
465+
.setEventName(logRecord.getEventName())
466+
.setBodyValue(getBodyValue(logRecord.getBody()));
467+
return builder.build();
468+
}
469+
442470
private static Value<?> getBodyValue(AnyValue value) {
443471
switch (value.getValueCase()) {
444472
case STRING_VALUE:

0 commit comments

Comments
 (0)