2626import java .util .Optional ;
2727import org .junit .Test ;
2828import org .junit .runner .RunWith ;
29- import org .mockito .junit .MockitoJUnitRunner ;
30- import software .amazon .awssdk .enhanced .dynamodb .DynamoDbEnhancedClientExtension ;
31- import software .amazon .awssdk .enhanced .dynamodb .DynamoDbExtensionContext ;
32- import org .junit .Test ;
33- import org .junit .runner .RunWith ;
3429import org .mockito .Mock ;
3530import org .mockito .junit .MockitoJUnitRunner ;
3631import software .amazon .awssdk .enhanced .dynamodb .AttributeConverter ;
32+ import software .amazon .awssdk .enhanced .dynamodb .DynamoDbEnhancedClientExtension ;
33+ import software .amazon .awssdk .enhanced .dynamodb .DynamoDbExtensionContext ;
3734import software .amazon .awssdk .enhanced .dynamodb .EnhancedType ;
3835import software .amazon .awssdk .enhanced .dynamodb .Key ;
3936import software .amazon .awssdk .enhanced .dynamodb .TableMetadata ;
@@ -94,7 +91,6 @@ public void hasMap_forNotNullAttributeValueWithoutMap_returnsFalse() {
9491
9592 @ Test
9693 public void hasMap_forAttributeValueNull_returnsFalse () {
97-
9894 boolean result = EnhancedClientUtils .hasMap (null );
9995
10096 assertThat (result ).isFalse ();
@@ -448,12 +444,7 @@ public ReadModification afterRead(DynamoDbExtensionContext.AfterRead context) {
448444 public void readAndTransformSingleItem_withExtensionNoTransformedItem_returnsOriginalItem () {
449445 Map <String , AttributeValue > itemMap = new HashMap <>();
450446 itemMap .put ("id" , PARTITION_VALUE );
451- DynamoDbEnhancedClientExtension extension = new DynamoDbEnhancedClientExtension () {
452- @ Override
453- public ReadModification afterRead (DynamoDbExtensionContext .AfterRead context ) {
454- return ReadModification .builder ().build ();
455- }
456- };
447+ DynamoDbEnhancedClientExtension extension = new DynamoDbEnhancedClientExtension () {};
457448
458449 assertThat (
459450 EnhancedClientUtils .readAndTransformSingleItem (
@@ -514,115 +505,4 @@ public void createKeyFromItem_itemWithPartitionKeyOnly_returnsKeyWithoutSortKey(
514505 assertThat (key .partitionKeyValue ()).isEqualTo (AttributeValue .builder ().s ("test-id" ).build ());
515506 assertThat (key .sortKeyValue ()).isEmpty ();
516507 }
517-
518- @ Test
519- public void keyRef_withSimpleKey_returnsFormattedKey () {
520- String result = EnhancedClientUtils .keyRef ("simpleKey" );
521-
522- assertThat (result ).isEqualTo ("#AMZN_MAPPED_simpleKey" );
523- }
524-
525- @ Test
526- public void keyRef_withSpecialCharacters_cleansAndFormatsKey () {
527- String result = EnhancedClientUtils .keyRef ("key*with.special-chars" );
528-
529- assertThat (result ).isEqualTo ("#AMZN_MAPPED_key_with_special_chars" );
530- }
531-
532- @ Test
533- public void keyRef_withNestedKey_handlesNestedDelimiter () {
534- String nestedKey = "parent_NESTED_ATTR_UPDATE_child" ;
535- String result = EnhancedClientUtils .keyRef (nestedKey );
536-
537- assertThat (result ).contains ("#AMZN_MAPPED_" );
538- assertThat (result ).contains ("parent" );
539- assertThat (result ).contains ("child" );
540- }
541-
542- @ Test
543- public void valueRef_withSimpleValue_returnsFormattedValue () {
544- String result = EnhancedClientUtils .valueRef ("simpleValue" );
545-
546- assertThat (result ).isEqualTo (":AMZN_MAPPED_simpleValue" );
547- }
548-
549- @ Test
550- public void valueRef_withSpecialCharacters_cleansAndFormatsValue () {
551- String result = EnhancedClientUtils .valueRef ("value*with.special-chars" );
552-
553- assertThat (result ).isEqualTo (":AMZN_MAPPED_value_with_special_chars" );
554- }
555-
556- @ Test
557- public void valueRef_withNestedValue_handlesNestedDelimiter () {
558- String nestedValue = "parent_NESTED_ATTR_UPDATE_child" ;
559- String result = EnhancedClientUtils .valueRef (nestedValue );
560-
561- assertThat (result ).startsWith (":AMZN_MAPPED_" );
562- assertThat (result ).contains ("parent" );
563- assertThat (result ).contains ("child" );
564- }
565-
566- @ Test
567- public void cleanAttributeName_withNoSpecialCharacters_returnsOriginal () {
568- String original = "normalAttributeName123" ;
569- String result = EnhancedClientUtils .cleanAttributeName (original );
570-
571- assertThat (result ).isSameAs (original ); // Should return same instance when no changes needed
572- }
573-
574- @ Test
575- public void isNullAttributeValue_withNullAttributeValue_returnsTrue () {
576- AttributeValue nullValue = AttributeValue .builder ().nul (true ).build ();
577-
578- boolean result = EnhancedClientUtils .isNullAttributeValue (nullValue );
579-
580- assertThat (result ).isTrue ();
581- }
582-
583- @ Test
584- public void isNullAttributeValue_withNonNullAttributeValue_returnsFalse () {
585- AttributeValue stringValue = AttributeValue .builder ().s ("test" ).build ();
586-
587- boolean result = EnhancedClientUtils .isNullAttributeValue (stringValue );
588-
589- assertThat (result ).isFalse ();
590- }
591-
592- @ Test
593- public void isNullAttributeValue_withFalseNullValue_returnsFalse () {
594- AttributeValue falseNullValue = AttributeValue .builder ().nul (false ).build ();
595-
596- boolean result = EnhancedClientUtils .isNullAttributeValue (falseNullValue );
597-
598- assertThat (result ).isFalse ();
599- }
600-
601- @ Test
602- public void createKeyFromItem_withPartitionAndSortKey_createsCorrectKey () {
603- FakeItemWithSort item = new FakeItemWithSort ();
604- item .setId ("test-id" );
605- item .setSort ("test-sort" );
606-
607- Key result = EnhancedClientUtils .createKeyFromItem (item , FakeItemWithSort .getTableSchema (),
608- TableMetadata .primaryIndexName ());
609-
610- assertThat (result .partitionKeyValue ()).isEqualTo (AttributeValue .builder ().s ("test-id" ).build ());
611- assertThat (result .sortKeyValue ()).isPresent ();
612- assertThat (result .sortKeyValue ().get ()).isEqualTo (AttributeValue .builder ().s ("test-sort" ).build ());
613- }
614-
615- @ Test
616- public void getItemsFromSupplier_withNullList_returnsNull () {
617- List <Object > result = EnhancedClientUtils .getItemsFromSupplier (null );
618-
619- assertThat (result ).isNull ();
620- }
621-
622- @ Test
623- public void getItemsFromSupplier_withEmptyList_returnsNull () {
624- List <Object > result = EnhancedClientUtils .getItemsFromSupplier (Collections .emptyList ());
625-
626- assertThat (result ).isNull ();
627- }
628- }
508+ }
0 commit comments