0

Trying to write integration test for my logic, using recommended way to launch dynamoDB local:

            final String port = getAvailablePort();
            this.server = ServerRunner.createServerFromCommandLineArgs(new String[] { "-inMemory", "-port", port });
            server.start();

            amazonDynamoDB = AmazonDynamoDBClientBuilder.standard().withEndpointConfiguration(
                    // we can use any region here
                    new AwsClientBuilder.EndpointConfiguration("http://localhost:" + port, "us-west-2")).build();

I am planning to use com.amazonaws.services.dynamodbv2.document.DynamoDB in my production code to read/write from dynamo. I am looking to reuse some production dynamo-write code to setup testing data, hence, I will need com.amazonaws.services.dynamodbv2.document.DynamoDB object. However dynamo local setup above only give com.amazonaws.services.dynamodbv2.AmazonDynamoDB, any clue/suggestion on how to convert?

user273098
  • 151
  • 3
  • 10

1 Answers1

0

You can create an instance of DynamoDB from a AmazonDynamoDB using this constructor which has a signature of DynamoDB(AmazonDynamoDB client).

Matthew Pope
  • 7,212
  • 1
  • 28
  • 49
  • I did it by: new DynamoDB(AmazonDynamoDBClientBuilder.standard() .withEndpointConfiguration( new AwsClientBuilder.EndpointConfiguration("http://localhost:8000", "us-east-1")) .build()); – user273098 Sep 25 '19 at 16:33