diff --git a/pom.xml b/pom.xml
index 05ac3b1..8cf7b01 100644
--- a/pom.xml
+++ b/pom.xml
@@ -140,6 +140,11 @@
${aws.sdkv2.version}
provided
+
+ software.amazon.awssdk
+ dynamodb
+ ${aws.sdkv2.version}
+
software.amazon.awssdk
sns
diff --git a/src/main/java/cloud/localstack/awssdkv2/TestUtils.java b/src/main/java/cloud/localstack/awssdkv2/TestUtils.java
index 1f97fad..97bdf91 100644
--- a/src/main/java/cloud/localstack/awssdkv2/TestUtils.java
+++ b/src/main/java/cloud/localstack/awssdkv2/TestUtils.java
@@ -1,6 +1,7 @@
package cloud.localstack.awssdkv2;
import software.amazon.awssdk.regions.Region;
+import software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient;
import software.amazon.awssdk.utils.*;
import software.amazon.awssdk.http.*;
import software.amazon.awssdk.services.cloudwatch.*;
@@ -29,6 +30,10 @@ public static KinesisAsyncClient getClientKinesisAsyncV2() {
return wrapApiClientV2(KinesisAsyncClient.builder(), Localstack.INSTANCE.getEndpointKinesis()).build();
}
+ public static DynamoDbAsyncClient getClientDyanamoAsyncV2() {
+ return wrapApiClientV2(DynamoDbAsyncClient.builder(), Localstack.INSTANCE.getEndpointDynamoDB()).build();
+ }
+
public static SqsAsyncClient getClientSQSAsyncV2() {
return wrapApiClientV2(SqsAsyncClient.builder(), Localstack.INSTANCE.getEndpointSQS()).build();
}
diff --git a/src/test/java/cloud/localstack/awssdkv2/BasicFeaturesSDKV2Test.java b/src/test/java/cloud/localstack/awssdkv2/BasicFeaturesSDKV2Test.java
index 65d31ad..a29cd94 100644
--- a/src/test/java/cloud/localstack/awssdkv2/BasicFeaturesSDKV2Test.java
+++ b/src/test/java/cloud/localstack/awssdkv2/BasicFeaturesSDKV2Test.java
@@ -3,9 +3,13 @@
import cloud.localstack.Constants;
import cloud.localstack.LocalstackTestRunner;
+import com.amazonaws.services.dynamodbv2.model.ListTablesResult;
+import org.assertj.core.api.Assertions;
import software.amazon.awssdk.core.SdkSystemSetting;
import software.amazon.awssdk.services.cloudwatch.*;
import software.amazon.awssdk.services.cloudwatch.model.*;
+import software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient;
+import software.amazon.awssdk.services.dynamodb.model.*;
import software.amazon.awssdk.services.kinesis.*;
import software.amazon.awssdk.services.kinesis.model.*;
import software.amazon.awssdk.services.s3.*;
@@ -78,6 +82,31 @@ public void testCreateKinesisRecordV2() throws Exception {
Assert.assertNotNull(kinesisClient.putRecord(putRecordRequest.build()));
}
+ @Test
+ public void testCreateDynamoDBTable() throws Exception {
+ DynamoDbAsyncClient dynamoDbAsyncClient = TestUtils.getClientDyanamoAsyncV2();
+ CreateTableRequest createTableRequest = CreateTableRequest.builder()
+ .keySchema(
+ KeySchemaElement.builder()
+ .keyType(KeyType.HASH)
+ .attributeName("test")
+ .build()
+ )
+ .attributeDefinitions(AttributeDefinition.builder()
+ .attributeName("test")
+ .attributeType(ScalarAttributeType.S)
+ .build())
+ .provisionedThroughput(
+ ProvisionedThroughput.builder()
+ .readCapacityUnits(5L)
+ .writeCapacityUnits(5L)
+ .build())
+ .tableName("test")
+ .build();
+ CreateTableResponse response = dynamoDbAsyncClient.createTable(createTableRequest).get();
+ Assert.assertNotNull(response);
+ }
+
@Test
public void testS3CreateListBuckets() throws Exception {
String bucketName = "test-b-"+UUID.randomUUID().toString();