Skip to content

Commit

Permalink
Convert aws-sdk tests to test suites (#7943)
Browse files Browse the repository at this point in the history
Part of
#7911
  • Loading branch information
laurit authored Mar 1, 2023
1 parent 8c1b072 commit 13c7617
Showing 1 changed file with 35 additions and 42 deletions.
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

0 comments on commit 13c7617

Please sign in to comment.