From fa1e151fed1ca3dcd1fff14fe13af1c95d3fe61d Mon Sep 17 00:00:00 2001 From: Rishav karanjit Date: Tue, 7 Apr 2026 12:10:04 -0700 Subject: [PATCH 01/17] chore(java): shut down local DDB in test (#2176) --- .../datamodeling/TransformerHolisticIT.java | 9 ++++ .../CachingMostRecentProviderTests.java | 43 ++++++++++++++----- .../mapper/integration/DynamoDBTestBase.java | 9 ++++ 3 files changed, 50 insertions(+), 11 deletions(-) diff --git a/DynamoDbEncryption/runtimes/java/src/test/sdkv1/com/amazonaws/services/dynamodbv2/datamodeling/TransformerHolisticIT.java b/DynamoDbEncryption/runtimes/java/src/test/sdkv1/com/amazonaws/services/dynamodbv2/datamodeling/TransformerHolisticIT.java index c37fdf9643..0ece86494f 100644 --- a/DynamoDbEncryption/runtimes/java/src/test/sdkv1/com/amazonaws/services/dynamodbv2/datamodeling/TransformerHolisticIT.java +++ b/DynamoDbEncryption/runtimes/java/src/test/sdkv1/com/amazonaws/services/dynamodbv2/datamodeling/TransformerHolisticIT.java @@ -55,6 +55,7 @@ import java.util.stream.Collectors; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; +import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; @@ -326,6 +327,14 @@ public void setUp() { createCiphertextTables(client); } + @AfterTest + public void tearDownDDBLocal() { + if (client != null) { + client.shutdown(); + client = null; + } + } + @Test(dataProvider = "getDecryptTestVectors") public void decryptTestVector(Scenario scenario) throws IOException { client = DynamoDBEmbedded.create().amazonDynamoDB(); diff --git a/DynamoDbEncryption/runtimes/java/src/test/sdkv1/com/amazonaws/services/dynamodbv2/datamodeling/encryption/providers/CachingMostRecentProviderTests.java b/DynamoDbEncryption/runtimes/java/src/test/sdkv1/com/amazonaws/services/dynamodbv2/datamodeling/encryption/providers/CachingMostRecentProviderTests.java index b0b8c24839..ee82d1b012 100644 --- a/DynamoDbEncryption/runtimes/java/src/test/sdkv1/com/amazonaws/services/dynamodbv2/datamodeling/encryption/providers/CachingMostRecentProviderTests.java +++ b/DynamoDbEncryption/runtimes/java/src/test/sdkv1/com/amazonaws/services/dynamodbv2/datamodeling/encryption/providers/CachingMostRecentProviderTests.java @@ -26,6 +26,9 @@ import java.util.Map; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; +import org.testng.annotations.AfterClass; +import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeClass; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; @@ -47,30 +50,48 @@ public class CachingMostRecentProviderTests { private static final DynamoDBEncryptor ENCRYPTOR = DynamoDBEncryptor.getInstance(BASE_PROVIDER); - private AmazonDynamoDB client; - private Map methodCalls; + private static AmazonDynamoDB rawClient; + private static AmazonDynamoDB instrumentedClient; + private static Map methodCalls; private ProviderStore store; private EncryptionContext ctx; + // DDB Local client is created once per class since DynamoDBEmbedded.create() is expensive. + // Table is created/deleted per method to ensure test isolation, as tests assert + // exact DynamoDB call counts and expect a clean table with no leftover data. + @BeforeClass + public static void setupClient() { + methodCalls = new HashMap(); + rawClient = DynamoDBEmbedded.create().amazonDynamoDB(); + instrumentedClient = + instrument(rawClient, AmazonDynamoDB.class, methodCalls); + } + + @AfterClass + public static void tearDownDDBLocal() { + if (rawClient != null) { + rawClient.shutdown(); + rawClient = null; + } + } + @BeforeMethod public void setup() { - methodCalls = new HashMap(); - client = - instrument( - DynamoDBEmbedded.create().amazonDynamoDB(), - AmazonDynamoDB.class, - methodCalls - ); MetaStore.createTable( - client, + instrumentedClient, TABLE_NAME, new ProvisionedThroughput(1L, 1L) ); - store = new MetaStore(client, TABLE_NAME, ENCRYPTOR); + store = new MetaStore(instrumentedClient, TABLE_NAME, ENCRYPTOR); ctx = new EncryptionContext.Builder().build(); methodCalls.clear(); } + @AfterMethod + public void tearDown() { + rawClient.deleteTable(TABLE_NAME); + } + @Test public void testConstructors() { final CachingMostRecentProvider prov = new CachingMostRecentProvider( diff --git a/DynamoDbEncryption/runtimes/java/src/test/sdkv1/com/amazonaws/services/dynamodbv2/mapper/integration/DynamoDBTestBase.java b/DynamoDbEncryption/runtimes/java/src/test/sdkv1/com/amazonaws/services/dynamodbv2/mapper/integration/DynamoDBTestBase.java index 6c4be28481..ad2b485e2f 100644 --- a/DynamoDbEncryption/runtimes/java/src/test/sdkv1/com/amazonaws/services/dynamodbv2/mapper/integration/DynamoDBTestBase.java +++ b/DynamoDbEncryption/runtimes/java/src/test/sdkv1/com/amazonaws/services/dynamodbv2/mapper/integration/DynamoDBTestBase.java @@ -21,6 +21,7 @@ import java.util.Collection; import java.util.HashSet; import java.util.Set; +import org.testng.annotations.AfterClass; public class DynamoDBTestBase { @@ -30,6 +31,14 @@ public static void setUpTestBase() { dynamo = DynamoDBEmbedded.create().amazonDynamoDB(); } + @AfterClass + public static void tearDownDDBLocal() { + if (dynamo != null) { + dynamo.shutdown(); + dynamo = null; + } + } + public static AmazonDynamoDB getClient() { if (dynamo == null) { setUpTestBase(); From b56be95d150fb4ede0288a3f6a3afe32aa20e4c4 Mon Sep 17 00:00:00 2001 From: rishav-karanjit Date: Tue, 7 Apr 2026 12:38:47 -0700 Subject: [PATCH 02/17] empty commit to run CI From 984933fccf4ad8e98c9909da12996b3f43ca8e96 Mon Sep 17 00:00:00 2001 From: rishav-karanjit Date: Tue, 7 Apr 2026 13:24:46 -0700 Subject: [PATCH 03/17] Add aws sdk v1 as test depedency --- DynamoDbEncryption/runtimes/java/build.gradle.kts | 1 + 1 file changed, 1 insertion(+) diff --git a/DynamoDbEncryption/runtimes/java/build.gradle.kts b/DynamoDbEncryption/runtimes/java/build.gradle.kts index 016a38fe5b..a5e4e51594 100644 --- a/DynamoDbEncryption/runtimes/java/build.gradle.kts +++ b/DynamoDbEncryption/runtimes/java/build.gradle.kts @@ -98,6 +98,7 @@ dependencies { // For the DDB-EC with SDK v1 compileOnly("com.amazonaws:aws-java-sdk-dynamodb:1.12.780") + testImplementation("com.amazonaws:aws-java-sdk-dynamodb:1.12.780") // For the DDB-EC with SDK V2 implementation("io.netty:netty-common:4.2.9.Final") From 7c88db46fd21f10356db7f5047c5c95f6d3eb4d7 Mon Sep 17 00:00:00 2001 From: rishav-karanjit Date: Tue, 7 Apr 2026 15:25:27 -0700 Subject: [PATCH 04/17] On macOS/Windows it works because the filesystem deduplicates the overlapping files. On Ubuntu (case-sensitive filesystem), Gradle compiles the same file from both source roots with different inferred packages, causing the error. --- DynamoDbEncryption/runtimes/java/build.gradle.kts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/DynamoDbEncryption/runtimes/java/build.gradle.kts b/DynamoDbEncryption/runtimes/java/build.gradle.kts index a5e4e51594..ebd634e287 100644 --- a/DynamoDbEncryption/runtimes/java/build.gradle.kts +++ b/DynamoDbEncryption/runtimes/java/build.gradle.kts @@ -38,9 +38,10 @@ java { } sourceSets["test"].java { srcDir("src/test") - // adding sdkv1 and sdkv2 helps IDE to resolve package names inside SDK v1 and v2 test srcDir("src/test/sdkv1") srcDir("src/test/sdkv2") + exclude("sdkv1/**") + exclude("sdkv2/**") } withJavadocJar() withSourcesJar() From d2f261910fdfb3d62cd1dca9f322609c2ebbb015 Mon Sep 17 00:00:00 2001 From: rishav-karanjit Date: Tue, 7 Apr 2026 15:40:41 -0700 Subject: [PATCH 05/17] will it work? --- DynamoDbEncryption/runtimes/java/build.gradle.kts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/DynamoDbEncryption/runtimes/java/build.gradle.kts b/DynamoDbEncryption/runtimes/java/build.gradle.kts index ebd634e287..1d047c1bbb 100644 --- a/DynamoDbEncryption/runtimes/java/build.gradle.kts +++ b/DynamoDbEncryption/runtimes/java/build.gradle.kts @@ -38,10 +38,6 @@ java { } sourceSets["test"].java { srcDir("src/test") - srcDir("src/test/sdkv1") - srcDir("src/test/sdkv2") - exclude("sdkv1/**") - exclude("sdkv2/**") } withJavadocJar() withSourcesJar() From 5e71aa8462a9336469cbf97d22a750b0cc031428 Mon Sep 17 00:00:00 2001 From: rishav-karanjit Date: Tue, 7 Apr 2026 15:49:32 -0700 Subject: [PATCH 06/17] this is not the issue --- DynamoDbEncryption/runtimes/java/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DynamoDbEncryption/runtimes/java/build.gradle.kts b/DynamoDbEncryption/runtimes/java/build.gradle.kts index 1d047c1bbb..54cde7e078 100644 --- a/DynamoDbEncryption/runtimes/java/build.gradle.kts +++ b/DynamoDbEncryption/runtimes/java/build.gradle.kts @@ -95,7 +95,7 @@ dependencies { // For the DDB-EC with SDK v1 compileOnly("com.amazonaws:aws-java-sdk-dynamodb:1.12.780") - testImplementation("com.amazonaws:aws-java-sdk-dynamodb:1.12.780") + // For the DDB-EC with SDK V2 implementation("io.netty:netty-common:4.2.9.Final") From bacbb5857095dc30f9a586978c16bb845358c795 Mon Sep 17 00:00:00 2001 From: rishav-karanjit Date: Wed, 8 Apr 2026 09:42:59 -0700 Subject: [PATCH 07/17] is this the issue? --- DynamoDbEncryption/runtimes/java/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DynamoDbEncryption/runtimes/java/build.gradle.kts b/DynamoDbEncryption/runtimes/java/build.gradle.kts index 54cde7e078..29f53ddbe9 100644 --- a/DynamoDbEncryption/runtimes/java/build.gradle.kts +++ b/DynamoDbEncryption/runtimes/java/build.gradle.kts @@ -94,7 +94,7 @@ dependencies { testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.11.4") // For the DDB-EC with SDK v1 - compileOnly("com.amazonaws:aws-java-sdk-dynamodb:1.12.780") + implementation("com.amazonaws:aws-java-sdk-dynamodb:1.12.780") // For the DDB-EC with SDK V2 implementation("io.netty:netty-common:4.2.9.Final") From 27c5d98bdf53e03c3f2e481dc3c061d8d0b18dc8 Mon Sep 17 00:00:00 2001 From: rishav-karanjit Date: Wed, 8 Apr 2026 10:16:05 -0700 Subject: [PATCH 08/17] Revert "is this the issue?" This reverts commit bacbb5857095dc30f9a586978c16bb845358c795. --- DynamoDbEncryption/runtimes/java/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DynamoDbEncryption/runtimes/java/build.gradle.kts b/DynamoDbEncryption/runtimes/java/build.gradle.kts index 29f53ddbe9..54cde7e078 100644 --- a/DynamoDbEncryption/runtimes/java/build.gradle.kts +++ b/DynamoDbEncryption/runtimes/java/build.gradle.kts @@ -94,7 +94,7 @@ dependencies { testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.11.4") // For the DDB-EC with SDK v1 - implementation("com.amazonaws:aws-java-sdk-dynamodb:1.12.780") + compileOnly("com.amazonaws:aws-java-sdk-dynamodb:1.12.780") // For the DDB-EC with SDK V2 implementation("io.netty:netty-common:4.2.9.Final") From 43470c50a4f26529d8cc801ff43ecb5de6cecbb1 Mon Sep 17 00:00:00 2001 From: rishav-karanjit Date: Wed, 8 Apr 2026 10:17:05 -0700 Subject: [PATCH 09/17] Revert "will it work?" This reverts commit d2f261910fdfb3d62cd1dca9f322609c2ebbb015. --- DynamoDbEncryption/runtimes/java/build.gradle.kts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/DynamoDbEncryption/runtimes/java/build.gradle.kts b/DynamoDbEncryption/runtimes/java/build.gradle.kts index 54cde7e078..741c792ddc 100644 --- a/DynamoDbEncryption/runtimes/java/build.gradle.kts +++ b/DynamoDbEncryption/runtimes/java/build.gradle.kts @@ -38,6 +38,10 @@ java { } sourceSets["test"].java { srcDir("src/test") + srcDir("src/test/sdkv1") + srcDir("src/test/sdkv2") + exclude("sdkv1/**") + exclude("sdkv2/**") } withJavadocJar() withSourcesJar() From ec4e9da85a90754740be79c369b3c85183b3f501 Mon Sep 17 00:00:00 2001 From: rishav-karanjit Date: Wed, 8 Apr 2026 10:17:20 -0700 Subject: [PATCH 10/17] Revert "On macOS/Windows it works because the filesystem deduplicates the overlapping files. On Ubuntu (case-sensitive filesystem), Gradle compiles the same file from both source roots with different inferred packages, causing the error." This reverts commit 7c88db46fd21f10356db7f5047c5c95f6d3eb4d7. --- DynamoDbEncryption/runtimes/java/build.gradle.kts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/DynamoDbEncryption/runtimes/java/build.gradle.kts b/DynamoDbEncryption/runtimes/java/build.gradle.kts index 741c792ddc..ca0aff8033 100644 --- a/DynamoDbEncryption/runtimes/java/build.gradle.kts +++ b/DynamoDbEncryption/runtimes/java/build.gradle.kts @@ -38,10 +38,9 @@ java { } sourceSets["test"].java { srcDir("src/test") + // adding sdkv1 and sdkv2 helps IDE to resolve package names inside SDK v1 and v2 test srcDir("src/test/sdkv1") srcDir("src/test/sdkv2") - exclude("sdkv1/**") - exclude("sdkv2/**") } withJavadocJar() withSourcesJar() From 6fd33c00888ccc557f4766545594de959b3e156d Mon Sep 17 00:00:00 2001 From: rishav-karanjit Date: Wed, 8 Apr 2026 10:22:58 -0700 Subject: [PATCH 11/17] m --- .../services/dynamodbv2/datamodeling/TransformerHolisticIT.java | 1 + 1 file changed, 1 insertion(+) diff --git a/DynamoDbEncryption/runtimes/java/src/test/sdkv1/com/amazonaws/services/dynamodbv2/datamodeling/TransformerHolisticIT.java b/DynamoDbEncryption/runtimes/java/src/test/sdkv1/com/amazonaws/services/dynamodbv2/datamodeling/TransformerHolisticIT.java index 46f1c521fb..3e35dacfc4 100644 --- a/DynamoDbEncryption/runtimes/java/src/test/sdkv1/com/amazonaws/services/dynamodbv2/datamodeling/TransformerHolisticIT.java +++ b/DynamoDbEncryption/runtimes/java/src/test/sdkv1/com/amazonaws/services/dynamodbv2/datamodeling/TransformerHolisticIT.java @@ -22,6 +22,7 @@ import com.amazonaws.services.dynamodbv2.datamodeling.encryption.providers.store.ProviderStore; import com.amazonaws.services.dynamodbv2.local.embedded.DynamoDBEmbedded; import com.amazonaws.services.dynamodbv2.model.*; +import com.amazonaws.services.dynamodbv2.model.AttributeValue; import com.amazonaws.services.dynamodbv2.testing.AttributeValueDeserializer; import com.amazonaws.services.dynamodbv2.testing.AttributeValueSerializer; import com.amazonaws.services.dynamodbv2.testing.ScenarioManifest; From 7f650d8282a9ba865c0bcb6363b8454505ac182d Mon Sep 17 00:00:00 2001 From: rishav-karanjit Date: Wed, 8 Apr 2026 10:38:02 -0700 Subject: [PATCH 12/17] m --- DynamoDbEncryption/runtimes/java/build.gradle.kts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/DynamoDbEncryption/runtimes/java/build.gradle.kts b/DynamoDbEncryption/runtimes/java/build.gradle.kts index ca0aff8033..29f53ddbe9 100644 --- a/DynamoDbEncryption/runtimes/java/build.gradle.kts +++ b/DynamoDbEncryption/runtimes/java/build.gradle.kts @@ -38,9 +38,6 @@ java { } sourceSets["test"].java { srcDir("src/test") - // adding sdkv1 and sdkv2 helps IDE to resolve package names inside SDK v1 and v2 test - srcDir("src/test/sdkv1") - srcDir("src/test/sdkv2") } withJavadocJar() withSourcesJar() @@ -97,7 +94,7 @@ dependencies { testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.11.4") // For the DDB-EC with SDK v1 - compileOnly("com.amazonaws:aws-java-sdk-dynamodb:1.12.780") + implementation("com.amazonaws:aws-java-sdk-dynamodb:1.12.780") // For the DDB-EC with SDK V2 implementation("io.netty:netty-common:4.2.9.Final") From 0683e5fe6a1ba3c986f24f325451a2f7d231c307 Mon Sep 17 00:00:00 2001 From: rishav-karanjit Date: Wed, 8 Apr 2026 10:58:30 -0700 Subject: [PATCH 13/17] Instead of one broad srcDir(src/test), list each subdirectory as its own source root --- DynamoDbEncryption/runtimes/java/build.gradle.kts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/DynamoDbEncryption/runtimes/java/build.gradle.kts b/DynamoDbEncryption/runtimes/java/build.gradle.kts index 29f53ddbe9..61afa9092b 100644 --- a/DynamoDbEncryption/runtimes/java/build.gradle.kts +++ b/DynamoDbEncryption/runtimes/java/build.gradle.kts @@ -37,7 +37,11 @@ java { srcDir("src/main/sdkv2") } sourceSets["test"].java { - srcDir("src/test") + srcDir("src/test/java") + srcDir("src/test/dafny-generated") + srcDir("src/test/smithy-generated") + srcDir("src/test/sdkv1") + srcDir("src/test/sdkv2") } withJavadocJar() withSourcesJar() From 9f4b815346d0c50ec9db41eda8e19719f665629f Mon Sep 17 00:00:00 2001 From: rishav-karanjit Date: Wed, 8 Apr 2026 11:29:24 -0700 Subject: [PATCH 14/17] One last try and I am done --- .../dynamodbv2/datamodeling/TransformerHolisticIT.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DynamoDbEncryption/runtimes/java/src/test/sdkv1/com/amazonaws/services/dynamodbv2/datamodeling/TransformerHolisticIT.java b/DynamoDbEncryption/runtimes/java/src/test/sdkv1/com/amazonaws/services/dynamodbv2/datamodeling/TransformerHolisticIT.java index 3e35dacfc4..62d67a9e13 100644 --- a/DynamoDbEncryption/runtimes/java/src/test/sdkv1/com/amazonaws/services/dynamodbv2/datamodeling/TransformerHolisticIT.java +++ b/DynamoDbEncryption/runtimes/java/src/test/sdkv1/com/amazonaws/services/dynamodbv2/datamodeling/TransformerHolisticIT.java @@ -1593,6 +1593,6 @@ private static String stripFilePath(String path) { return path.replaceFirst("file://", ""); } - @JsonDeserialize(using = AttributeValueDeserializer.class) - public static class DeserializedAttributeValue extends AttributeValue {} + @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = AttributeValueDeserializer.class) + public static class DeserializedAttributeValue extends com.amazonaws.services.dynamodbv2.model.AttributeValue {} } From b8336747c32c5ad7f49171077daf913977c3b82c Mon Sep 17 00:00:00 2001 From: Rishav karanjit Date: Wed, 8 Apr 2026 12:24:03 -0700 Subject: [PATCH 15/17] This was not the issue Removed unnecessary test source directories and changed DynamoDB SDK dependency from implementation to compileOnly. --- DynamoDbEncryption/runtimes/java/build.gradle.kts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/DynamoDbEncryption/runtimes/java/build.gradle.kts b/DynamoDbEncryption/runtimes/java/build.gradle.kts index 61afa9092b..f048ea11f6 100644 --- a/DynamoDbEncryption/runtimes/java/build.gradle.kts +++ b/DynamoDbEncryption/runtimes/java/build.gradle.kts @@ -37,9 +37,6 @@ java { srcDir("src/main/sdkv2") } sourceSets["test"].java { - srcDir("src/test/java") - srcDir("src/test/dafny-generated") - srcDir("src/test/smithy-generated") srcDir("src/test/sdkv1") srcDir("src/test/sdkv2") } @@ -98,7 +95,7 @@ dependencies { testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.11.4") // For the DDB-EC with SDK v1 - implementation("com.amazonaws:aws-java-sdk-dynamodb:1.12.780") + compileOnly("com.amazonaws:aws-java-sdk-dynamodb:1.12.780") // For the DDB-EC with SDK V2 implementation("io.netty:netty-common:4.2.9.Final") From b7b58f7fd7a428e6fe1b33ede42f0fea642e2729 Mon Sep 17 00:00:00 2001 From: rishav-karanjit Date: Wed, 8 Apr 2026 12:36:40 -0700 Subject: [PATCH 16/17] This was also not the issue --- .../dynamodbv2/datamodeling/TransformerHolisticIT.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/DynamoDbEncryption/runtimes/java/src/test/sdkv1/com/amazonaws/services/dynamodbv2/datamodeling/TransformerHolisticIT.java b/DynamoDbEncryption/runtimes/java/src/test/sdkv1/com/amazonaws/services/dynamodbv2/datamodeling/TransformerHolisticIT.java index 62d67a9e13..1ba1024ed7 100644 --- a/DynamoDbEncryption/runtimes/java/src/test/sdkv1/com/amazonaws/services/dynamodbv2/datamodeling/TransformerHolisticIT.java +++ b/DynamoDbEncryption/runtimes/java/src/test/sdkv1/com/amazonaws/services/dynamodbv2/datamodeling/TransformerHolisticIT.java @@ -22,7 +22,6 @@ import com.amazonaws.services.dynamodbv2.datamodeling.encryption.providers.store.ProviderStore; import com.amazonaws.services.dynamodbv2.local.embedded.DynamoDBEmbedded; import com.amazonaws.services.dynamodbv2.model.*; -import com.amazonaws.services.dynamodbv2.model.AttributeValue; import com.amazonaws.services.dynamodbv2.testing.AttributeValueDeserializer; import com.amazonaws.services.dynamodbv2.testing.AttributeValueSerializer; import com.amazonaws.services.dynamodbv2.testing.ScenarioManifest; @@ -1593,6 +1592,9 @@ private static String stripFilePath(String path) { return path.replaceFirst("file://", ""); } - @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = AttributeValueDeserializer.class) - public static class DeserializedAttributeValue extends com.amazonaws.services.dynamodbv2.model.AttributeValue {} + @com.fasterxml.jackson.databind.annotation.JsonDeserialize( + using = AttributeValueDeserializer.class + ) + public static class DeserializedAttributeValue + extends com.amazonaws.services.dynamodbv2.model.AttributeValue {} } From 2cc7be0687c9bebdfb77fcb92ff1c0a77a4cca75 Mon Sep 17 00:00:00 2001 From: Rishav karanjit Date: Wed, 8 Apr 2026 13:01:51 -0700 Subject: [PATCH 17/17] Add SDK v1 and v2 test source directories Added source directories for SDK v1 and v2 test files. --- DynamoDbEncryption/runtimes/java/build.gradle.kts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/DynamoDbEncryption/runtimes/java/build.gradle.kts b/DynamoDbEncryption/runtimes/java/build.gradle.kts index f048ea11f6..ca0aff8033 100644 --- a/DynamoDbEncryption/runtimes/java/build.gradle.kts +++ b/DynamoDbEncryption/runtimes/java/build.gradle.kts @@ -37,6 +37,8 @@ java { srcDir("src/main/sdkv2") } sourceSets["test"].java { + srcDir("src/test") + // adding sdkv1 and sdkv2 helps IDE to resolve package names inside SDK v1 and v2 test srcDir("src/test/sdkv1") srcDir("src/test/sdkv2") }