Skip to content

Commit a9c8b5a

Browse files
committed
Test Coverage Checklist for Enhanced Dynamo DB PRs
1 parent d0ccf56 commit a9c8b5a

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# DynamoDB Enhanced Client Test Checklist
2+
3+
Below is the checklist required for merging DynamoDB Enhanced Client test changes.
4+
Please complete this checklist when making any changes to Enhanced DDB.
5+
6+
**Instructions:**
7+
- Mark completed tests with [x] (e.g., [x] instead of [ ])
8+
- For tests not completed, provide a reason in the "Comments" column
9+
- If your code changes are covered by existing tests, reference the test class and method name in the Comments column (e.g., `TableSchemaTest.testFromBean()`)
10+
- Please copy the markdown into your PR and update it in Testing section
11+
- [Reference for CRUD Operations test](https://github.com/aws/aws-sdk-java-v2/blob/master/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/BasicCrudTest.java)
12+
- [Reference for Data Types and Null Handling](https://github.com/aws/aws-sdk-java-v2/blob/master/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/document/EnhancedDocumentTestData.java)
13+
14+
```md
15+
## Test Coverage Checklist
16+
17+
| Scenario | Done | Comments if Not Done |
18+
|---------|:----:|---------------------|
19+
| **1. Different TableSchema Creation Methods** | | |
20+
| a. TableSchema.fromBean(Customer.class) | [ ] | |
21+
| b. TableSchema.fromImmutableClass(Customer.class) for immutable classes | [ ] | |
22+
| c. TableSchema.documentSchemaBuilder().build() | [ ] | |
23+
| d. StaticTableSchema.builder(Customer.class) | [ ] | |
24+
| **2. Nesting of Different TableSchema Types** | | |
25+
| a. @DynamoDbBean with nested @DynamoDbBean as NonNull | [ ] | |
26+
| b. @DynamoDbBean with nested @DynamoDbImmutable as NonNull | [ ] | |
27+
| c. @DynamoDbImmutable with nested @DynamoDbBean as NonNull | [ ] | |
28+
| d. @DynamoDbBean with nested @DynamoDbBean as Null | [ ] | |
29+
| e. @DynamoDbBean with nested @DynamoDbImmutable as Null| [ ] | |
30+
| f. @DynamoDbImmutable with nested @DynamoDbBean as Null | [ ] | |
31+
| **3. CRUD Operations** | | |
32+
| a. scan() | [ ] | |
33+
| b. query() | [ ] | |
34+
| c. updateItem() | [ ] | |
35+
| d. putItem() | [ ] | |
36+
| e. getItem() | [ ] | |
37+
| f. deleteItem() | [ ] | |
38+
| g. batchGetItem() | [ ] | |
39+
| h. batchWriteItem() | [ ] | |
40+
| i. transactGetItems() | [ ] | |
41+
| j. transactWriteItems() | [ ] | |
42+
| **4. Data Types and Null Handling** | | |
43+
| a. top-level null attributes | [ ] | |
44+
| b. query() | [ ] | |
45+
| c. collections with null elements | [ ] | |
46+
| d. maps with null values | [ ] | |
47+
| e. conversion between null Java values and AttributeValue | [ ] | |
48+
| f. full serialization/deserialization cycle with null values | [ ] | |
49+
| **5. AsyncTable and SyncTable** | | |
50+
| a. DynamoDbAsyncTable Testing | [ ] | |
51+
| b. DynamoDbTable Testing | [ ] | |
52+
| **6. New/Modification in Extensions** | | |
53+
| a. Tables with Scenario in ScenarioSl No.1 (All table schemas are Must) | [ ] | |
54+
| b. Test with Default Values in Annotations | [ ] | |
55+
| c. Combination of Annotation and Builder passes extension | [ ] | |
56+
| **7. New/Modification in Converters** | | |
57+
| a. Tables with Scenario in ScenarioSl No.1 (All table schemas are Must) | [ ] | |
58+
| b. Test with Default Values in Annotations | [ ] | |
59+
| c. Test All Scenarios from 1 to 5 | [x] | |
60+
```

0 commit comments

Comments
 (0)