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