Increase code coverage on dynamodb-enhanced module#6700
Increase code coverage on dynamodb-enhanced module#6700andreas-grafenberger wants to merge 12 commits intoaws:masterfrom
Conversation
a024740 to
fcfbd00
Compare
337c117 to
f97adfc
Compare
1764264 to
8dd1add
Compare
...a/software/amazon/awssdk/enhanced/dynamodb/internal/operations/DeleteTableOperationTest.java
Outdated
Show resolved
Hide resolved
...e/amazon/awssdk/enhanced/dynamodb/functionaltests/extensions/AtomicCounterExtensionTest.java
Outdated
Show resolved
Hide resolved
...re/amazon/awssdk/enhanced/dynamodb/extensions/AutoGeneratedTimestampRecordExtensionTest.java
Outdated
Show resolved
Hide resolved
...st/java/software/amazon/awssdk/enhanced/dynamodb/DefaultMethodsUnsupportedOperationTest.java
Outdated
Show resolved
Hide resolved
...azon/awssdk/enhanced/dynamodb/functionaltests/extensions/AutoGeneratedUuidExtensionTest.java
Outdated
Show resolved
Hide resolved
.../java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/models/AbstractImmutable.java
Outdated
Show resolved
Hide resolved
...st/java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/models/SimpleImmutable.java
Outdated
Show resolved
Hide resolved
...src/test/java/software/amazon/awssdk/enhanced/dynamodb/internal/EnhancedClientUtilsTest.java
Outdated
Show resolved
Hide resolved
...src/test/java/software/amazon/awssdk/enhanced/dynamodb/internal/EnhancedClientUtilsTest.java
Show resolved
Hide resolved
.../software/amazon/awssdk/enhanced/dynamodb/functionaltests/extensions/ChainExtensionTest.java
Show resolved
Hide resolved
| EnumAttributeConverter<Person> personConverter = EnumAttributeConverter.createWithNameAsKeys(Person.class); | ||
|
|
||
| Person john = personConverter.transformTo(AttributeValue.fromS("JOHN")); | ||
| personConverter.transformTo(AttributeValue.fromS("JOHN")); |
There was a problem hiding this comment.
I think we should also check the correct enum value is returned, something like
assertThat(personConverter.transformTo(AttributeValue.fromS("JOHN"))).isEqualTo(Person.JOHN);There was a problem hiding this comment.
Good one, thank you! The test should be fine now.
| import software.amazon.awssdk.services.dynamodb.model.ReturnValue; | ||
| import software.amazon.awssdk.services.dynamodb.model.TableDescription; | ||
|
|
||
| public class AnnotatedBeanTableSchemaTest extends LocalDynamoDbSyncTestBase { |
There was a problem hiding this comment.
Can we use a parameterized test and remove the Immutable and Async variants? They are largely the same code.
There was a problem hiding this comment.
We can do it for Bean and Immutable, but not for Sync and Async since there is used a different client type of DynamoDb (sync vs async and is initialized based on inherited test class):
- LocalDynamoDbSyncTestBase is used to create DynamoDbClient
- LocalDynamoDbAsyncTestBase is used to create DynamoDbAsyncClient
Also, there is an existing "pattern" where tests are already separated based on the used DynamoDb client type (tests for Async client usually starts with "Async*").
There was a problem hiding this comment.
Update - I parameterized the mentioned tests (in terms of Bean and Immutable variants) :
- AnnotatedBeanTableSchemaTest.java
- AnnotatedImmutableTableSchemaTest.java
as: AnnotatedTableSchemaTest.java, and:
- AsyncAnnotatedBeanTableSchemaTest.java
- AsyncAnnotatedImmutableTableSchemaTest.java
as: AsyncAnnotatedTableSchemaTest.java
5016df9 to
e33be5f
Compare
…dding assert for OptionalAttributeValueConverterTest.
…as part of PR 6373
… 437-increase_test_coverage # Conflicts: # services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/extensions/AutoGeneratedUuidExtensionTest.java
Motivation and Context
The goal of this work is to increase unit, functional, and integration code coverage for the
aws-sdk-java-v2/services-custom/dynamodb-enhancedmodule.Initial coverage:
Target coverage:
Achieved coverage:
These results exceed the defined targets and significantly improve confidence in the correctness and stability of the enhanced DynamoDB module.
Modifications
This pull request expands code coverage across the DynamoDB Enhanced Client by introducing new unit, functional, and integration tests targeting previously uncovered or partially covered code paths.
Testing
Screenshots
Initial coverage:
Achieved coverage:
Types of changes
Checklist
mvn installsucceedsscripts/new-changescript and following the instructions. Commit the new file created by the script in.changes/next-releasewith your changes.License