Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Convert aws-sdk tests to test suites #7943

Merged
merged 1 commit into from
Mar 1, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 35 additions & 42 deletions instrumentation/aws-sdk/aws-sdk-1.11/javaagent/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id("otel.javaagent-instrumentation")
id("org.unbroken-dome.test-sets")
}

// compiling against 1.11.0, but instrumentation should work against 1.10.33 with varying effects,
Expand All @@ -19,33 +18,6 @@ muzzle {
}
}

testSets {
// Features used in test_1_11_106 (builder) is available since 1.11.84, but
// using 1.11.106 because of previous concerns with byte code differences
// in 1.11.106, also, the DeleteOptionGroup request generates more spans
// in 1.11.106 than 1.11.84.
// We test older version in separate test set to test newer version and latest deps in the 'default'
// test dir. Otherwise we get strange warnings in Idea.
create("test_before_1_11_106")

// We test SQS separately since we have special logic for it and want to make sure the presence of
// SQS on the classpath doesn't conflict with tests for usage of the core SDK. This only affects
// the agent.
create("testSqs")
}

configurations {
named("test_before_1_11_106RuntimeClasspath") {
resolutionStrategy.force("com.amazonaws:aws-java-sdk-s3:1.11.0")
resolutionStrategy.force("com.amazonaws:aws-java-sdk-rds:1.11.0")
resolutionStrategy.force("com.amazonaws:aws-java-sdk-ec2:1.11.0")
resolutionStrategy.force("com.amazonaws:aws-java-sdk-kinesis:1.11.0")
resolutionStrategy.force("com.amazonaws:aws-java-sdk-sqs:1.11.0")
resolutionStrategy.force("com.amazonaws:aws-java-sdk-sns:1.11.0")
resolutionStrategy.force("com.amazonaws:aws-java-sdk-dynamodb:1.11.0")
}
}

dependencies {
compileOnly("io.opentelemetry.contrib:opentelemetry-aws-xray-propagator")

Expand All @@ -62,8 +34,6 @@ dependencies {

testImplementation(project(":instrumentation:aws-sdk:aws-sdk-1.11:testing"))

add("testSqsImplementation", "com.amazonaws:aws-java-sdk-sqs:1.11.106")

// Include httpclient instrumentation for testing because it is a dependency for aws-sdk.
testInstrumentation(project(":instrumentation:apache-httpclient:apache-httpclient-4.0:javaagent"))

Expand All @@ -75,23 +45,46 @@ dependencies {

// needed by S3
testImplementation("javax.xml.bind:jaxb-api:2.3.1")
}

add("test_before_1_11_106Implementation", "com.amazonaws:aws-java-sdk-s3:1.11.0")
add("test_before_1_11_106Implementation", "com.amazonaws:aws-java-sdk-rds:1.11.0")
add("test_before_1_11_106Implementation", "com.amazonaws:aws-java-sdk-ec2:1.11.0")
add("test_before_1_11_106Implementation", "com.amazonaws:aws-java-sdk-kinesis:1.11.0")
add("test_before_1_11_106Implementation", "com.amazonaws:aws-java-sdk-dynamodb:1.11.0")
add("test_before_1_11_106Implementation", "com.amazonaws:aws-java-sdk-sns:1.11.0")
testing {
suites {
// Features used in test_1_11_106 (builder) is available since 1.11.84, but
// using 1.11.106 because of previous concerns with byte code differences
// in 1.11.106, also, the DeleteOptionGroup request generates more spans
// in 1.11.106 than 1.11.84.
// We test older version in separate test set to test newer version and latest deps in the 'default'
// test dir. Otherwise we get strange warnings in Idea.
val test_before_1_11_106 by registering(JvmTestSuite::class) {
dependencies {
implementation(project(":instrumentation:aws-sdk:aws-sdk-1.11:testing"))

implementation("com.amazonaws:aws-java-sdk-s3:1.11.0")
implementation("com.amazonaws:aws-java-sdk-rds:1.11.0")
implementation("com.amazonaws:aws-java-sdk-ec2:1.11.0")
implementation("com.amazonaws:aws-java-sdk-kinesis:1.11.0")
implementation("com.amazonaws:aws-java-sdk-dynamodb:1.11.0")
implementation("com.amazonaws:aws-java-sdk-sns:1.11.0")
}
}

// We test SQS separately since we have special logic for it and want to make sure the presence of
// SQS on the classpath doesn't conflict with tests for usage of the core SDK. This only affects
// the agent.
val testSqs by registering(JvmTestSuite::class) {
dependencies {
implementation(project(":instrumentation:aws-sdk:aws-sdk-1.11:testing"))

implementation("com.amazonaws:aws-java-sdk-sqs:1.11.106")
}
}
}
}

tasks {
val test_before_1_11_106 by existing
val testSqs by existing

if (!(findProperty("testLatestDeps") as Boolean)) {
named("check") {
dependsOn(test_before_1_11_106)
dependsOn(testSqs)
check {
dependsOn(testing.suites)
}
}

Expand Down