Integration Testing With DynamoDB Table/Fixture
This is how your JUnit integration test should look like:
public class FooITCase { private Region region; private MadeTable table; @Before public void prepare() { this.region = new Region.Simple(your_AWS_credentials); this.table = new MadeTable( this.region, new CreateTableRequest() .withTableName("my-sample-table") .withProvisionedThroughput( new ProvisionedThroughput() .withReadCapacityUnits(1L) .withWriteCapacityUnits(1L) ) .withAttributeDefinitions( new AttributeDefinition() .withAttributeName("hash") .withAttributeType(ScalarAttributeType.S) ) .withKeySchema( new KeySchemaElement() .withAttributeName("hash") .withKeyType(KeyType.HASH) ) ); this.table.create(); } @After public void dropTable() { this.table.drop(); } @Test public void createsAndDeletesItems() { Foo foo = new Foo(this.region); foo.doSomething(); } }
MadeTable
will create a table on demand and will drop it when tests are finished.