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