This is an automated email from the ASF dual-hosted git repository.

dannycranmer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/flink-connector-aws.git


The following commit(s) were added to refs/heads/main by this push:
     new 53ea410  [FLINK-30098][Connectors/DynamoDB] Migrate DynamoDb unit 
tests to JUnit5 (#23)
53ea410 is described below

commit 53ea41008910237073804dc090d67a1e0852163d
Author: Hong Liang Teoh <lian...@amazon.com>
AuthorDate: Mon Nov 21 16:17:11 2022 +0000

    [FLINK-30098][Connectors/DynamoDB] Migrate DynamoDb unit tests to JUnit5 
(#23)
---
 .../connector/dynamodb/util/PrimaryKeyBuilder.java | 16 ++--
 .../util/DynamoDbSerializationUtilTest.java        |  2 +-
 .../dynamodb/util/PrimaryKeyBuilderTest.java       | 85 ++++++++++++++++------
 3 files changed, 68 insertions(+), 35 deletions(-)

diff --git 
a/flink-connector-dynamodb/src/main/java/org/apache/flink/connector/dynamodb/util/PrimaryKeyBuilder.java
 
b/flink-connector-dynamodb/src/main/java/org/apache/flink/connector/dynamodb/util/PrimaryKeyBuilder.java
index d078dad..00cf0b7 100644
--- 
a/flink-connector-dynamodb/src/main/java/org/apache/flink/connector/dynamodb/util/PrimaryKeyBuilder.java
+++ 
b/flink-connector-dynamodb/src/main/java/org/apache/flink/connector/dynamodb/util/PrimaryKeyBuilder.java
@@ -57,11 +57,7 @@ public class PrimaryKeyBuilder {
 
             if (keyAttribute == null) {
                 throw new InvalidRequestException(
-                        "Request "
-                                + request.toString()
-                                + " does not contain partition key "
-                                + keyName
-                                + ".");
+                        "Request " + request + " does not contain partition 
key " + keyName + ".");
             }
 
             String keyValue = getKeyValue(keyAttribute);
@@ -69,7 +65,7 @@ public class PrimaryKeyBuilder {
             if (StringUtils.isBlank(keyValue)) {
                 throw new InvalidRequestException(
                         "Partition key or sort key attributes require 
non-empty values. Request "
-                                + request.toString()
+                                + request
                                 + " contains empty key "
                                 + keyName
                                 + ".");
@@ -109,19 +105,17 @@ public class PrimaryKeyBuilder {
                 return request.putRequest().item();
             } else {
                 throw new InvalidRequestException(
-                        "PutItemRequest " + request.toString() + " does not 
contain request items");
+                        "PutItemRequest " + request + " does not contain 
request items.");
             }
         } else if (request.deleteRequest() != null) {
             if (request.deleteRequest().hasKey()) {
                 return request.deleteRequest().key();
             } else {
                 throw new InvalidRequestException(
-                        "DeleteItemRequest "
-                                + request.toString()
-                                + " does not contain request key");
+                        "DeleteItemRequest " + request + " does not contain 
request key.");
             }
         } else {
-            throw new InvalidRequestException("Empty write request" + 
request.toString());
+            throw new InvalidRequestException("Empty write request" + request);
         }
     }
 }
diff --git 
a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/util/DynamoDbSerializationUtilTest.java
 
b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/util/DynamoDbSerializationUtilTest.java
index 68c1f0b..0c64026 100644
--- 
a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/util/DynamoDbSerializationUtilTest.java
+++ 
b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/util/DynamoDbSerializationUtilTest.java
@@ -23,7 +23,7 @@ import 
org.apache.flink.connector.dynamodb.sink.DynamoDbWriteRequestType;
 
 import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableMap;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import software.amazon.awssdk.core.SdkBytes;
 import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
 
diff --git 
a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/util/PrimaryKeyBuilderTest.java
 
b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/util/PrimaryKeyBuilderTest.java
index 7a27708..09e22b7 100644
--- 
a/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/util/PrimaryKeyBuilderTest.java
+++ 
b/flink-connector-dynamodb/src/test/java/org/apache/flink/connector/dynamodb/util/PrimaryKeyBuilderTest.java
@@ -23,8 +23,7 @@ import 
org.apache.flink.connector.dynamodb.sink.InvalidRequestException;
 import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableList;
 import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableMap;
 
-import org.assertj.core.api.Assertions;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import software.amazon.awssdk.core.SdkBytes;
 import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
 import software.amazon.awssdk.services.dynamodb.model.DeleteRequest;
@@ -32,9 +31,11 @@ import 
software.amazon.awssdk.services.dynamodb.model.PutRequest;
 import software.amazon.awssdk.services.dynamodb.model.WriteRequest;
 
 import java.nio.charset.StandardCharsets;
-import java.util.HashMap;
 import java.util.Map;
 
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
+
 /** Unit tests for {@link PrimaryKeyBuilder}. */
 public class PrimaryKeyBuilderTest {
 
@@ -87,14 +88,13 @@ public class PrimaryKeyBuilderTest {
 
         PrimaryKeyBuilder keyBuilder =
                 new PrimaryKeyBuilder(ImmutableList.of(PARTITION_KEY_NAME, 
SORT_KEY_NAME));
-        Assertions.assertThat(keyBuilder.build(putRequestOne))
-                .isNotEqualTo(keyBuilder.build(putRequestTwo));
+        
assertThat(keyBuilder.build(putRequestOne)).isNotEqualTo(keyBuilder.build(putRequestTwo));
     }
 
     @Test
     public void testPartitionKeysOfTwoDifferentRequestsEqual() {
         PrimaryKeyBuilder keyBuilder = new 
PrimaryKeyBuilder(ImmutableList.of(PARTITION_KEY_NAME));
-        
Assertions.assertThat(keyBuilder.build(createPutItemRequest(createItemValues())))
+        assertThat(keyBuilder.build(createPutItemRequest(createItemValues())))
                 
.isEqualTo(keyBuilder.build(createDeleteItemRequest(createItemValues())));
     }
 
@@ -103,35 +103,65 @@ public class PrimaryKeyBuilderTest {
         PrimaryKeyBuilder keyBuilder =
                 new PrimaryKeyBuilder(ImmutableList.of(PARTITION_KEY_NAME, 
SORT_KEY_NAME));
 
-        
Assertions.assertThat(keyBuilder.build(createPutItemRequest(createItemValues())))
+        assertThat(keyBuilder.build(createPutItemRequest(createItemValues())))
                 
.isEqualTo(keyBuilder.build(createDeleteItemRequest(createItemValues())));
     }
 
-    @Test(expected = InvalidRequestException.class)
-    public void testExceptOnEmptyRequest() {
-        new PrimaryKeyBuilder(ImmutableList.of(PARTITION_KEY_NAME))
-                .build(createPutItemRequest(new HashMap<>()));
+    @Test
+    public void testExceptOnEmptyPutRequest() {
+        assertThatExceptionOfType(InvalidRequestException.class)
+                .isThrownBy(
+                        () ->
+                                new 
PrimaryKeyBuilder(ImmutableList.of(PARTITION_KEY_NAME))
+                                        .build(
+                                                WriteRequest.builder()
+                                                        
.putRequest(PutRequest.builder().build())
+                                                        .build()))
+                .withMessageContaining("does not contain request items.");
+    }
+
+    @Test
+    public void testExceptOnEmptyDeleteRequest() {
+        assertThatExceptionOfType(InvalidRequestException.class)
+                .isThrownBy(
+                        () ->
+                                new 
PrimaryKeyBuilder(ImmutableList.of(PARTITION_KEY_NAME))
+                                        .build(
+                                                WriteRequest.builder()
+                                                        .deleteRequest(
+                                                                
DeleteRequest.builder().build())
+                                                        .build()))
+                .withMessageContaining("does not contain request key.");
     }
 
-    @Test(expected = InvalidRequestException.class)
+    @Test
     public void testExceptWhenNoPartitionKey() {
         ImmutableMap<String, AttributeValue> itemValues =
                 ImmutableMap.of("some_item", 
AttributeValue.builder().bool(false).build());
 
-        new PrimaryKeyBuilder(ImmutableList.of(PARTITION_KEY_NAME))
-                .build(createPutItemRequest(itemValues));
+        assertThatExceptionOfType(InvalidRequestException.class)
+                .isThrownBy(
+                        () ->
+                                new 
PrimaryKeyBuilder(ImmutableList.of(PARTITION_KEY_NAME))
+                                        
.build(createPutItemRequest(itemValues)))
+                .withMessageContaining("does not contain partition key 
part_key_name.");
     }
 
-    @Test(expected = InvalidRequestException.class)
+    @Test
     public void testExceptWhenEmptyKey() {
         ImmutableMap<String, AttributeValue> itemValues =
                 ImmutableMap.of(PARTITION_KEY_NAME, 
AttributeValue.builder().s("").build());
 
-        new PrimaryKeyBuilder(ImmutableList.of(PARTITION_KEY_NAME))
-                .build(createPutItemRequest(itemValues));
+        assertThatExceptionOfType(InvalidRequestException.class)
+                .isThrownBy(
+                        () ->
+                                new 
PrimaryKeyBuilder(ImmutableList.of(PARTITION_KEY_NAME))
+                                        
.build(createPutItemRequest(itemValues)))
+                .withMessageContaining(
+                        "Partition key or sort key attributes require 
non-empty values.");
     }
 
-    @Test(expected = InvalidRequestException.class)
+    @Test
     public void testExceptWhenNoPartitionKeyCompositeKey() {
         ImmutableMap<String, AttributeValue> itemValues =
                 ImmutableMap.of(
@@ -140,11 +170,15 @@ public class PrimaryKeyBuilderTest {
                         "some_item",
                         AttributeValue.builder().bool(false).build());
 
-        new PrimaryKeyBuilder(ImmutableList.of(PARTITION_KEY_NAME))
-                .build(createPutItemRequest(itemValues));
+        assertThatExceptionOfType(InvalidRequestException.class)
+                .isThrownBy(
+                        () ->
+                                new 
PrimaryKeyBuilder(ImmutableList.of(PARTITION_KEY_NAME))
+                                        
.build(createPutItemRequest(itemValues)))
+                .withMessageContaining("does not contain partition key 
part_key_name.");
     }
 
-    @Test(expected = InvalidRequestException.class)
+    @Test
     public void testExceptWhenNoSortKey() {
         ImmutableMap<String, AttributeValue> itemValues =
                 ImmutableMap.of(
@@ -153,7 +187,12 @@ public class PrimaryKeyBuilderTest {
                         "some_item",
                         AttributeValue.builder().bool(false).build());
 
-        new PrimaryKeyBuilder(ImmutableList.of(PARTITION_KEY_NAME, 
SORT_KEY_NAME))
-                .build(createPutItemRequest(itemValues));
+        assertThatExceptionOfType(InvalidRequestException.class)
+                .isThrownBy(
+                        () ->
+                                new PrimaryKeyBuilder(
+                                                
ImmutableList.of(PARTITION_KEY_NAME, SORT_KEY_NAME))
+                                        
.build(createPutItemRequest(itemValues)))
+                .withMessageContaining("does not contain partition key 
sort_key_name.");
     }
 }

Reply via email to