Skip to content

Commit

Permalink
Test OTLP exporters with different OkHttp versions (#6045)
Browse files Browse the repository at this point in the history
  • Loading branch information
jack-berg authored Jan 2, 2024
1 parent 4267998 commit de65a4b
Show file tree
Hide file tree
Showing 8 changed files with 68 additions and 3 deletions.
41 changes: 39 additions & 2 deletions exporters/otlp/all/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@ dependencies {

testImplementation(project(":exporters:otlp:testing-internal"))
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")

jmhImplementation(project(":sdk:testing"))
Expand All @@ -41,6 +39,45 @@ val testJavaVersion: String? by project

testing {
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") {
dependencies {
implementation(project(":exporters:sender:grpc-managed-channel"))
Expand Down
Original file line number Diff line number Diff line change
@@ -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);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
* 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;

Expand All @@ -13,6 +13,7 @@
import io.opentelemetry.exporter.otlp.testing.internal.FakeTelemetryUtil;
import io.opentelemetry.exporter.otlp.testing.internal.TelemetryExporter;
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.proto.trace.v1.ResourceSpans;
import io.opentelemetry.sdk.trace.data.SpanData;
Expand Down

0 comments on commit de65a4b

Please sign in to comment.