Test OTLP exporters with different OkHttp versions (#6045)
This commit is contained in:
parent
42679988e2
commit
de65a4ba1e
|
|
@ -24,8 +24,6 @@ dependencies {
|
||||||
|
|
||||||
testImplementation(project(":exporters:otlp:testing-internal"))
|
testImplementation(project(":exporters:otlp:testing-internal"))
|
||||||
testImplementation("com.linecorp.armeria:armeria-junit5")
|
testImplementation("com.linecorp.armeria:armeria-junit5")
|
||||||
testImplementation("com.google.api.grpc:proto-google-common-protos")
|
|
||||||
testImplementation("com.squareup.okhttp3:okhttp-tls")
|
|
||||||
testImplementation("io.grpc:grpc-stub")
|
testImplementation("io.grpc:grpc-stub")
|
||||||
|
|
||||||
jmhImplementation(project(":sdk:testing"))
|
jmhImplementation(project(":sdk:testing"))
|
||||||
|
|
@ -41,6 +39,45 @@ val testJavaVersion: String? by project
|
||||||
|
|
||||||
testing {
|
testing {
|
||||||
suites {
|
suites {
|
||||||
|
listOf(
|
||||||
|
"LATEST",
|
||||||
|
"4.11.0"
|
||||||
|
).forEach {
|
||||||
|
register<JvmTestSuite>("testOkHttpVersion$it") {
|
||||||
|
sources {
|
||||||
|
java {
|
||||||
|
setSrcDirs(listOf("src/testDefaultSender/java"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
dependencies {
|
||||||
|
implementation(project(":exporters:sender:okhttp"))
|
||||||
|
implementation(project(":exporters:otlp:testing-internal"))
|
||||||
|
|
||||||
|
implementation(platform("com.squareup.okhttp3:okhttp-bom")) {
|
||||||
|
// Only impose dependency constraint if not testing the LATEST version, which is defined in /dependencyManagement/build.gradle.kts
|
||||||
|
if (!it.equals("LATEST")) {
|
||||||
|
version {
|
||||||
|
strictly(it)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
implementation("com.squareup.okhttp3:okhttp")
|
||||||
|
implementation("io.grpc:grpc-stub")
|
||||||
|
}
|
||||||
|
|
||||||
|
targets {
|
||||||
|
all {
|
||||||
|
testTask {
|
||||||
|
// Only enable test suite for non-LATEST in GitHub CI (CI=true)
|
||||||
|
enabled = it.equals("LATEST") || "true".equals(System.getenv("CI"))
|
||||||
|
systemProperty("expected.okhttp.version", it)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
register<JvmTestSuite>("testGrpcNetty") {
|
register<JvmTestSuite>("testGrpcNetty") {
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(project(":exporters:sender:grpc-managed-channel"))
|
implementation(project(":exporters:sender:grpc-managed-channel"))
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
/*
|
||||||
|
* Copyright The OpenTelemetry Authors
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
package io.opentelemetry.exporter.otlp;
|
||||||
|
|
||||||
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
import static org.assertj.core.api.Assumptions.assumeThat;
|
||||||
|
|
||||||
|
import java.util.logging.Level;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
import okhttp3.OkHttp;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
class OkHttpVersionTest {
|
||||||
|
|
||||||
|
private static final Logger LOGGER = Logger.getLogger(OkHttpVersionTest.class.getName());
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void expectedOkHttpVersion() {
|
||||||
|
String expectedVersion = System.getProperty("expected.okhttp.version");
|
||||||
|
LOGGER.log(Level.WARNING, "Testing okhttp version " + expectedVersion);
|
||||||
|
assumeThat(expectedVersion.equals("LATEST")).isFalse();
|
||||||
|
assertThat(OkHttp.VERSION).isEqualTo(expectedVersion);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package io.opentelemetry.exporter.otlp.trace;
|
package io.opentelemetry.exporter.otlp.traces;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
||||||
|
|
@ -13,6 +13,7 @@ import io.opentelemetry.exporter.otlp.testing.internal.AbstractGrpcTelemetryExpo
|
||||||
import io.opentelemetry.exporter.otlp.testing.internal.FakeTelemetryUtil;
|
import io.opentelemetry.exporter.otlp.testing.internal.FakeTelemetryUtil;
|
||||||
import io.opentelemetry.exporter.otlp.testing.internal.TelemetryExporter;
|
import io.opentelemetry.exporter.otlp.testing.internal.TelemetryExporter;
|
||||||
import io.opentelemetry.exporter.otlp.testing.internal.TelemetryExporterBuilder;
|
import io.opentelemetry.exporter.otlp.testing.internal.TelemetryExporterBuilder;
|
||||||
|
import io.opentelemetry.exporter.otlp.trace.OtlpGrpcSpanExporter;
|
||||||
import io.opentelemetry.exporter.sender.okhttp.internal.OkHttpGrpcSender;
|
import io.opentelemetry.exporter.sender.okhttp.internal.OkHttpGrpcSender;
|
||||||
import io.opentelemetry.proto.trace.v1.ResourceSpans;
|
import io.opentelemetry.proto.trace.v1.ResourceSpans;
|
||||||
import io.opentelemetry.sdk.trace.data.SpanData;
|
import io.opentelemetry.sdk.trace.data.SpanData;
|
||||||
Loading…
Reference in New Issue