From 75c43f765fa9db7c04d079fd1b19131a5b1dd4a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez?= Date: Mon, 30 Jun 2025 15:06:42 -0600 Subject: [PATCH] Remove dynalite module --- modules/dynalite/build.gradle | 9 --- .../dynamodb/DynaliteContainer.java | 79 ------------------- .../dynamodb/DynaliteContainerTest.java | 64 --------------- .../src/test/resources/logback-test.xml | 16 ---- 4 files changed, 168 deletions(-) delete mode 100644 modules/dynalite/build.gradle delete mode 100644 modules/dynalite/src/main/java/org/testcontainers/dynamodb/DynaliteContainer.java delete mode 100644 modules/dynalite/src/test/java/org/testcontainers/dynamodb/DynaliteContainerTest.java delete mode 100644 modules/dynalite/src/test/resources/logback-test.xml diff --git a/modules/dynalite/build.gradle b/modules/dynalite/build.gradle deleted file mode 100644 index d8fe2377b76..00000000000 --- a/modules/dynalite/build.gradle +++ /dev/null @@ -1,9 +0,0 @@ -description = "Testcontainers :: Dynalite (deprecated)" - -dependencies { - api project(':testcontainers') - - compileOnly 'com.amazonaws:aws-java-sdk-dynamodb:1.12.772' - testImplementation 'com.amazonaws:aws-java-sdk-dynamodb:1.12.772' - testImplementation 'org.assertj:assertj-core:3.26.3' -} diff --git a/modules/dynalite/src/main/java/org/testcontainers/dynamodb/DynaliteContainer.java b/modules/dynalite/src/main/java/org/testcontainers/dynamodb/DynaliteContainer.java deleted file mode 100644 index 2a73ce6f022..00000000000 --- a/modules/dynalite/src/main/java/org/testcontainers/dynamodb/DynaliteContainer.java +++ /dev/null @@ -1,79 +0,0 @@ -package org.testcontainers.dynamodb; - -import com.amazonaws.auth.AWSCredentialsProvider; -import com.amazonaws.auth.AWSStaticCredentialsProvider; -import com.amazonaws.auth.BasicAWSCredentials; -import com.amazonaws.client.builder.AwsClientBuilder; -import com.amazonaws.services.dynamodbv2.AmazonDynamoDB; -import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder; -import org.testcontainers.containers.GenericContainer; -import org.testcontainers.utility.DockerImageName; - -/** - * Container for Dynalite, a DynamoDB clone. - * - * @deprecated use localstack module instead - */ -public class DynaliteContainer extends GenericContainer { - - private static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName.parse("quay.io/testcontainers/dynalite"); - - private static final String DEFAULT_TAG = "v1.2.1-1"; - - private static final int MAPPED_PORT = 4567; - - /** - * @deprecated use {@link #DynaliteContainer(DockerImageName)} instead - */ - @Deprecated - public DynaliteContainer() { - this(DEFAULT_IMAGE_NAME.withTag(DEFAULT_TAG)); - } - - public DynaliteContainer(String dockerImageName) { - this(DockerImageName.parse(dockerImageName)); - } - - public DynaliteContainer(final DockerImageName dockerImageName) { - super(dockerImageName); - dockerImageName.assertCompatibleWith(DEFAULT_IMAGE_NAME); - - withExposedPorts(MAPPED_PORT); - } - - /** - * Gets a preconfigured {@link AmazonDynamoDB} client object for connecting to this - * container. - * - * @return preconfigured client - */ - public AmazonDynamoDB getClient() { - return AmazonDynamoDBClientBuilder - .standard() - .withEndpointConfiguration(getEndpointConfiguration()) - .withCredentials(getCredentials()) - .build(); - } - - /** - * Gets {@link AwsClientBuilder.EndpointConfiguration} - * that may be used to connect to this container. - * - * @return endpoint configuration - */ - public AwsClientBuilder.EndpointConfiguration getEndpointConfiguration() { - return new AwsClientBuilder.EndpointConfiguration( - "http://" + this.getHost() + ":" + this.getMappedPort(MAPPED_PORT), - null - ); - } - - /** - * Gets an {@link AWSCredentialsProvider} that may be used to connect to this container. - * - * @return dummy AWS credentials - */ - public AWSCredentialsProvider getCredentials() { - return new AWSStaticCredentialsProvider(new BasicAWSCredentials("dummy", "dummy")); - } -} diff --git a/modules/dynalite/src/test/java/org/testcontainers/dynamodb/DynaliteContainerTest.java b/modules/dynalite/src/test/java/org/testcontainers/dynamodb/DynaliteContainerTest.java deleted file mode 100644 index 2a4e94e9516..00000000000 --- a/modules/dynalite/src/test/java/org/testcontainers/dynamodb/DynaliteContainerTest.java +++ /dev/null @@ -1,64 +0,0 @@ -package org.testcontainers.dynamodb; - -import com.amazonaws.services.dynamodbv2.AmazonDynamoDB; -import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder; -import com.amazonaws.services.dynamodbv2.model.AttributeDefinition; -import com.amazonaws.services.dynamodbv2.model.CreateTableRequest; -import com.amazonaws.services.dynamodbv2.model.KeySchemaElement; -import com.amazonaws.services.dynamodbv2.model.KeyType; -import com.amazonaws.services.dynamodbv2.model.ProvisionedThroughput; -import com.amazonaws.services.dynamodbv2.model.ScalarAttributeType; -import com.amazonaws.services.dynamodbv2.model.TableDescription; -import org.junit.Ignore; -import org.junit.Rule; -import org.junit.Test; -import org.testcontainers.utility.DockerImageName; - -import static org.assertj.core.api.Assertions.assertThat; - -@Ignore("Image is not compatible with the latest Docker version provided by GH Actions") -public class DynaliteContainerTest { - - private static final DockerImageName DYNALITE_IMAGE = DockerImageName.parse( - "quay.io/testcontainers/dynalite:v1.2.1-1" - ); - - @Rule - public DynaliteContainer dynamoDB = new DynaliteContainer(DYNALITE_IMAGE); - - @Test - public void simpleTestWithManualClientCreation() { - final AmazonDynamoDB client = AmazonDynamoDBClientBuilder - .standard() - .withEndpointConfiguration(dynamoDB.getEndpointConfiguration()) - .withCredentials(dynamoDB.getCredentials()) - .build(); - - runTest(client); - } - - @Test - public void simpleTestWithProvidedClient() { - final AmazonDynamoDB client = dynamoDB.getClient(); - - runTest(client); - } - - private void runTest(AmazonDynamoDB client) { - CreateTableRequest request = new CreateTableRequest() - .withAttributeDefinitions(new AttributeDefinition("Name", ScalarAttributeType.S)) - .withKeySchema(new KeySchemaElement("Name", KeyType.HASH)) - .withProvisionedThroughput(new ProvisionedThroughput(10L, 10L)) - .withTableName("foo"); - - client.createTable(request); - - final TableDescription tableDescription = client.describeTable("foo").getTable(); - - assertThat(tableDescription).as("the description is not null").isNotNull(); - assertThat(tableDescription.getTableName()).as("the table has the right name").isEqualTo("foo"); - assertThat(tableDescription.getKeySchema().get(0).getAttributeName()) - .as("the name has the right primary key") - .isEqualTo("Name"); - } -} diff --git a/modules/dynalite/src/test/resources/logback-test.xml b/modules/dynalite/src/test/resources/logback-test.xml deleted file mode 100644 index 83ef7a1a3ef..00000000000 --- a/modules/dynalite/src/test/resources/logback-test.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - %d{HH:mm:ss.SSS} %-5level %logger - %msg%n - - - - - - - - -