You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2019/11/14 02:09:47 UTC

[james-project] 30/32: [Refactoring] Parameterized MailAddress creation tests

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

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 61cbd4664ead1f7b8b42ea029d0a5cbb6dfbdf5f
Author: Rene Cordier <rc...@linagora.com>
AuthorDate: Thu Nov 7 14:41:38 2019 +0700

    [Refactoring] Parameterized MailAddress creation tests
---
 core/pom.xml                                       |   5 +
 .../org/apache/james/core/MailAddressTest.java     | 121 ++++++++++-----------
 2 files changed, 65 insertions(+), 61 deletions(-)

diff --git a/core/pom.xml b/core/pom.xml
index e8035f4..bde5d28 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -66,6 +66,11 @@
             <artifactId>commons-io</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.junit.jupiter</groupId>
+            <artifactId>junit-jupiter-params</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
diff --git a/core/src/test/java/org/apache/james/core/MailAddressTest.java b/core/src/test/java/org/apache/james/core/MailAddressTest.java
index 0817587..ff1ccac 100644
--- a/core/src/test/java/org/apache/james/core/MailAddressTest.java
+++ b/core/src/test/java/org/apache/james/core/MailAddressTest.java
@@ -20,13 +20,18 @@
 package org.apache.james.core;
 
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Fail.fail;
+import static org.assertj.core.api.Assertions.assertThatCode;
+
+import java.util.stream.Stream;
 
 import javax.mail.internet.AddressException;
 import javax.mail.internet.InternetAddress;
 
 import org.assertj.core.api.Assertions;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 
 import nl.jqno.equalsverifier.EqualsVerifier;
 
@@ -37,47 +42,51 @@ class MailAddressTest {
     private static final String GOOD_ADDRESS = "server-dev@james.apache.org";
     private static final Domain GOOD_DOMAIN = Domain.of("james.apache.org");
 
-    private static final String[] GOOD_ADDRESSES = {
-            GOOD_ADDRESS,
-            GOOD_QUOTED_LOCAL_PART,
-            "server-dev@james-apache.org",
-            "server-dev@[127.0.0.1]",
-            "server-dev@#123",
-            "server-dev@#123.apache.org",
-            "server.dev@james.apache.org",
-            "\\.server-dev@james.apache.org",
-            "server-dev\\.@james.apache.org",
+    private static Stream<Arguments> goodAddresses() {
+        return Stream.of(
+                GOOD_ADDRESS,
+                GOOD_QUOTED_LOCAL_PART,
+                "server-dev@james-apache.org",
+                "server-dev@[127.0.0.1]",
+                "server-dev@#123",
+                "server-dev@#123.apache.org",
+                "server.dev@james.apache.org",
+                "\\.server-dev@james.apache.org",
+                "server-dev\\.@james.apache.org")
+            .map(Arguments::of);
     };
 
-    private static final String[] BAD_ADDRESSES = {
-            "",
-            "server-dev",
-            "server-dev@",
-            "[]",
-            "server-dev@[]",
-            "server-dev@#",
-            "quoted local-part@james.apache.org",
-            "quoted@local-part@james.apache.org",
-            "local-part.@james.apache.org",
-            ".local-part@james.apache.org",
-            "local-part@.james.apache.org",
-            "local-part@james.apache.org.",
-            "local-part@james.apache..org",
-            "server-dev@-james.apache.org",
-            "server-dev@james.apache.org-",
-            "server-dev@#james.apache.org",
-            "server-dev@#123james.apache.org",
-            "server-dev@#-123.james.apache.org",
-            "server-dev@james. apache.org",
-            "server-dev@james\\.apache.org",
-            "server-dev@[300.0.0.1]",
-            "server-dev@[127.0.1]",
-            "server-dev@[0127.0.0.1]",
-            "server-dev@[127.0.1.1a]",
-            "server-dev@[127\\.0.1.1]",
-            "server-dev@[127.0.1.1.1]",
-            "server-dev@[127.0.1.-1]"
-    };
+    private static Stream<Arguments> badAddresses() {
+        return Stream.of(
+                "",
+                "server-dev",
+                "server-dev@",
+                "[]",
+                "server-dev@[]",
+                "server-dev@#",
+                "quoted local-part@james.apache.org",
+                "quoted@local-part@james.apache.org",
+                "local-part.@james.apache.org",
+                ".local-part@james.apache.org",
+                "local-part@.james.apache.org",
+                "local-part@james.apache.org.",
+                "local-part@james.apache..org",
+                "server-dev@-james.apache.org",
+                "server-dev@james.apache.org-",
+                "server-dev@#james.apache.org",
+                "server-dev@#123james.apache.org",
+                "server-dev@#-123.james.apache.org",
+                "server-dev@james. apache.org",
+                "server-dev@james\\.apache.org",
+                "server-dev@[300.0.0.1]",
+                "server-dev@[127.0.1]",
+                "server-dev@[0127.0.0.1]",
+                "server-dev@[127.0.1.1a]",
+                "server-dev@[127\\.0.1.1]",
+                "server-dev@[127.0.1.1.1]",
+                "server-dev@[127.0.1.-1]")
+            .map(Arguments::of);
+    }
 
     /**
      * Test method for {@link MailAddress#hashCode()}.
@@ -91,28 +100,18 @@ class MailAddressTest {
         assertThat(a.hashCode()).isEqualTo(b.hashCode());
     }
 
-    /**
-     * Test method for {@link MailAddress#MailAddress(java.lang.String)}.
-     *
-     * @throws AddressException
-     */
-    @Test
-    void testMailAddressString() throws AddressException {
-        MailAddress a = new MailAddress(GOOD_ADDRESS);
-        assertThat(a.toString()).isEqualTo(GOOD_ADDRESS);
-
-        for (String goodAddress : GOOD_ADDRESSES) {
-            try {
-                a = new MailAddress(goodAddress);
-            } catch (AddressException e) {
-                fail(e.getMessage());
-            }
-        }
+    @ParameterizedTest
+    @MethodSource("goodAddresses")
+    void testGoodMailAddressString(String mailAddress) {
+        assertThatCode(() -> new MailAddress(mailAddress))
+            .doesNotThrowAnyException();
+    }
 
-        for (String badAddress : BAD_ADDRESSES) {
-            Assertions.assertThatThrownBy(() -> new MailAddress(badAddress))
-                .isInstanceOf(AddressException.class);
-        }
+    @ParameterizedTest
+    @MethodSource("badAddresses")
+    void testBadMailAddressString(String mailAddress) {
+        Assertions.assertThatThrownBy(() -> new MailAddress(mailAddress))
+            .isInstanceOf(AddressException.class);
     }
 
     /**


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org