Skip to content

Commit b3744da

Browse files
437 - Increase code coverage.
1 parent f97adfc commit b3744da

4 files changed

Lines changed: 1397 additions & 12 deletions

File tree

services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/AnnotatedBeanTableSchemaTest.java

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import static org.hamcrest.Matchers.nullValue;
2222
import static software.amazon.awssdk.enhanced.dynamodb.internal.AttributeValues.stringValue;
2323

24+
import org.assertj.core.api.Assertions;
2425
import org.junit.After;
2526
import org.junit.Before;
2627
import org.junit.Test;
@@ -33,6 +34,7 @@
3334
import software.amazon.awssdk.enhanced.dynamodb.functionaltests.models.SimpleBean;
3435
import software.amazon.awssdk.enhanced.dynamodb.model.DeleteItemEnhancedRequest;
3536
import software.amazon.awssdk.enhanced.dynamodb.model.DeleteItemEnhancedResponse;
37+
import software.amazon.awssdk.enhanced.dynamodb.model.DescribeTableEnhancedResponse;
3638
import software.amazon.awssdk.enhanced.dynamodb.model.GetItemEnhancedResponse;
3739
import software.amazon.awssdk.enhanced.dynamodb.model.PutItemEnhancedRequest;
3840
import software.amazon.awssdk.enhanced.dynamodb.model.PutItemEnhancedResponse;
@@ -42,6 +44,7 @@
4244
import software.amazon.awssdk.services.dynamodb.model.DeleteTableRequest;
4345
import software.amazon.awssdk.services.dynamodb.model.ResourceNotFoundException;
4446
import software.amazon.awssdk.services.dynamodb.model.ReturnValue;
47+
import software.amazon.awssdk.services.dynamodb.model.TableDescription;
4548

4649
public class AnnotatedBeanTableSchemaTest extends LocalDynamoDbSyncTestBase {
4750

@@ -71,16 +74,25 @@ public void deleteTable() {
7174
}
7275
}
7376

77+
@Test
78+
public void describeTable_succeeds() {
79+
DescribeTableEnhancedResponse describeTableEnhancedResponse = mappedTable.describeTable();
80+
Assertions.assertThat(describeTableEnhancedResponse.table()).isNotNull();
81+
Assertions.assertThat(describeTableEnhancedResponse.table().tableName()).isEqualTo(getConcreteTableName(TABLE_NAME));
82+
}
83+
7484
@Test
7585
public void createTableWithDefaults_thenDeleteTable_succeeds() {
7686
String tableName = TABLE_NAME + "-1";
7787

7888
DynamoDbTable<SimpleBean> mappedTable = enhancedClient.table(getConcreteTableName(tableName), TABLE_SCHEMA);
7989
mappedTable.createTable();
8090

81-
String actualTableName = mappedTable.describeTable().table().tableName();
82-
Long actualReadCapacityUnits = mappedTable.describeTable().table().provisionedThroughput().readCapacityUnits();
83-
Long actualWriteCapacityUnits = mappedTable.describeTable().table().provisionedThroughput().writeCapacityUnits();
91+
TableDescription tableDescription = mappedTable.describeTable().table();
92+
93+
String actualTableName = tableDescription.tableName();
94+
Long actualReadCapacityUnits = tableDescription.provisionedThroughput().readCapacityUnits();
95+
Long actualWriteCapacityUnits = tableDescription.provisionedThroughput().writeCapacityUnits();
8496

8597
assertThat(actualTableName, is(getConcreteTableName(tableName)));
8698
assertThat(actualReadCapacityUnits, is(0L));
@@ -102,13 +114,23 @@ public void createTableWithProvisionedThroughput_succeeds() {
102114
DynamoDbTable<SimpleBean> mappedTable = enhancedClient.table(getConcreteTableName(tableName), TABLE_SCHEMA);
103115
mappedTable.createTable(r -> r.provisionedThroughput(getDefaultProvisionedThroughput()));
104116

105-
String actualTableName = mappedTable.describeTable().table().tableName();
106-
Long actualReadCapacityUnits = mappedTable.describeTable().table().provisionedThroughput().readCapacityUnits();
107-
Long actualWriteCapacityUnits = mappedTable.describeTable().table().provisionedThroughput().writeCapacityUnits();
117+
TableDescription tableDescription = mappedTable.describeTable().table();
118+
119+
String actualTableName = tableDescription.tableName();
120+
Long actualReadCapacityUnits = tableDescription.provisionedThroughput().readCapacityUnits();
121+
Long actualWriteCapacityUnits = tableDescription.provisionedThroughput().writeCapacityUnits();
108122

109123
assertThat(actualTableName, is(getConcreteTableName(tableName)));
110124
assertThat(actualReadCapacityUnits, is(getDefaultProvisionedThroughput().readCapacityUnits()));
111125
assertThat(actualWriteCapacityUnits, is(getDefaultProvisionedThroughput().writeCapacityUnits()));
126+
127+
getDynamoDbClient().deleteTable(DeleteTableRequest.builder()
128+
.tableName(getConcreteTableName(tableName))
129+
.build());
130+
131+
assertThatThrownBy(mappedTable::describeTable)
132+
.isInstanceOf(ResourceNotFoundException.class)
133+
.hasMessageContaining("Cannot do operations on a non-existent table");
112134
}
113135

114136
@Test

services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/AnnotatedImmutableTableSchemaTest.java

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import static org.hamcrest.Matchers.nullValue;
2121
import static software.amazon.awssdk.enhanced.dynamodb.internal.AttributeValues.stringValue;
2222

23+
import org.assertj.core.api.Assertions;
2324
import org.hamcrest.MatcherAssert;
2425
import org.junit.After;
2526
import org.junit.Before;
@@ -33,6 +34,7 @@
3334
import software.amazon.awssdk.enhanced.dynamodb.functionaltests.models.SimpleImmutable;
3435
import software.amazon.awssdk.enhanced.dynamodb.model.DeleteItemEnhancedRequest;
3536
import software.amazon.awssdk.enhanced.dynamodb.model.DeleteItemEnhancedResponse;
37+
import software.amazon.awssdk.enhanced.dynamodb.model.DescribeTableEnhancedResponse;
3638
import software.amazon.awssdk.enhanced.dynamodb.model.GetItemEnhancedResponse;
3739
import software.amazon.awssdk.enhanced.dynamodb.model.PutItemEnhancedRequest;
3840
import software.amazon.awssdk.enhanced.dynamodb.model.PutItemEnhancedResponse;
@@ -42,6 +44,7 @@
4244
import software.amazon.awssdk.services.dynamodb.model.DeleteTableRequest;
4345
import software.amazon.awssdk.services.dynamodb.model.ResourceNotFoundException;
4446
import software.amazon.awssdk.services.dynamodb.model.ReturnValue;
47+
import software.amazon.awssdk.services.dynamodb.model.TableDescription;
4548

4649
public class AnnotatedImmutableTableSchemaTest extends LocalDynamoDbSyncTestBase {
4750

@@ -72,16 +75,25 @@ public void deleteTable() {
7275
}
7376
}
7477

78+
@Test
79+
public void describeTable_succeeds() {
80+
DescribeTableEnhancedResponse describeTableEnhancedResponse = mappedTable.describeTable();
81+
Assertions.assertThat(describeTableEnhancedResponse.table()).isNotNull();
82+
Assertions.assertThat(describeTableEnhancedResponse.table().tableName()).isEqualTo(getConcreteTableName(TABLE_NAME));
83+
}
84+
7585
@Test
7686
public void createTableWithDefaults_thenDeleteTable_succeeds() {
7787
String tableName = TABLE_NAME + "-1";
7888

7989
DynamoDbTable<SimpleImmutable> mappedTable = enhancedClient.table(getConcreteTableName(tableName), TABLE_SCHEMA);
8090
mappedTable.createTable();
8191

82-
String actualTableName = mappedTable.describeTable().table().tableName();
83-
Long actualReadCapacityUnits = mappedTable.describeTable().table().provisionedThroughput().readCapacityUnits();
84-
Long actualWriteCapacityUnits = mappedTable.describeTable().table().provisionedThroughput().writeCapacityUnits();
92+
TableDescription tableDescription = mappedTable.describeTable().table();
93+
94+
String actualTableName = tableDescription.tableName();
95+
Long actualReadCapacityUnits = tableDescription.provisionedThroughput().readCapacityUnits();
96+
Long actualWriteCapacityUnits = tableDescription.provisionedThroughput().writeCapacityUnits();
8597

8698
MatcherAssert.assertThat(actualTableName, is(getConcreteTableName(tableName)));
8799
MatcherAssert.assertThat(actualReadCapacityUnits, is(0L));
@@ -103,13 +115,23 @@ public void createTableWithProvisionedThroughput_succeeds() {
103115
DynamoDbTable<SimpleImmutable> mappedTable = enhancedClient.table(getConcreteTableName(tableName), TABLE_SCHEMA);
104116
mappedTable.createTable(r -> r.provisionedThroughput(getDefaultProvisionedThroughput()));
105117

106-
String actualTableName = mappedTable.describeTable().table().tableName();
107-
Long actualReadCapacityUnits = mappedTable.describeTable().table().provisionedThroughput().readCapacityUnits();
108-
Long actualWriteCapacityUnits = mappedTable.describeTable().table().provisionedThroughput().writeCapacityUnits();
118+
TableDescription tableDescription = mappedTable.describeTable().table();
119+
120+
String actualTableName = tableDescription.tableName();
121+
Long actualReadCapacityUnits = tableDescription.provisionedThroughput().readCapacityUnits();
122+
Long actualWriteCapacityUnits = tableDescription.provisionedThroughput().writeCapacityUnits();
109123

110124
MatcherAssert.assertThat(actualTableName, is(getConcreteTableName(tableName)));
111125
MatcherAssert.assertThat(actualReadCapacityUnits, is(getDefaultProvisionedThroughput().readCapacityUnits()));
112126
MatcherAssert.assertThat(actualWriteCapacityUnits, is(getDefaultProvisionedThroughput().writeCapacityUnits()));
127+
128+
getDynamoDbClient().deleteTable(DeleteTableRequest.builder()
129+
.tableName(getConcreteTableName(tableName))
130+
.build());
131+
132+
assertThatThrownBy(mappedTable::describeTable)
133+
.isInstanceOf(ResourceNotFoundException.class)
134+
.hasMessageContaining("Cannot do operations on a non-existent table");
113135
}
114136

115137
@Test

0 commit comments

Comments
 (0)