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 rc...@apache.org on 2019/12/11 10:28:52 UTC
[james-project] 04/13: [Refactoring] Move
MailderMailboxMessageNameTest to JUnit 5
This is an automated email from the ASF dual-hosted git repository.
rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit fea2af330d2ea8f6affa6c986de404111cd55b17
Author: Rene Cordier <rc...@linagora.com>
AuthorDate: Tue Dec 10 17:15:34 2019 +0700
[Refactoring] Move MailderMailboxMessageNameTest to JUnit 5
---
mailbox/maildir/pom.xml | 5 +
.../maildir/MailderMailboxMessageNameTest.java | 167 +++++++++------------
2 files changed, 74 insertions(+), 98 deletions(-)
diff --git a/mailbox/maildir/pom.xml b/mailbox/maildir/pom.xml
index 282845c..3ea306b 100644
--- a/mailbox/maildir/pom.xml
+++ b/mailbox/maildir/pom.xml
@@ -82,6 +82,11 @@
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-params</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<scope>test</scope>
diff --git a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/MailderMailboxMessageNameTest.java b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/MailderMailboxMessageNameTest.java
index 69e7cd5..7d467e3 100644
--- a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/MailderMailboxMessageNameTest.java
+++ b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/MailderMailboxMessageNameTest.java
@@ -20,96 +20,82 @@ package org.apache.james.mailbox.maildir;
import static org.assertj.core.api.Assertions.assertThat;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.stream.Stream;
import javax.mail.Flags;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-
-@RunWith(value = Parameterized.class)
-public class MailderMailboxMessageNameTest {
-
- private String validName;
- private Parts parts;
-
- public MailderMailboxMessageNameTest(Parts parts) {
- this.validName = parts.fullName;
- this.parts = parts;
- }
-
- @Parameterized.Parameters
- public static List<Object[]> testData() {
- List<Object[]> args = new ArrayList<>();
- // no size, two flags
- Parts parts = Parts.fullName("1328026049.19146_0.km1111:2,RS").timeSeconds(1328026049)
- .baseName("1328026049.19146_0.km1111").flagAnswered().flagSeen();
- args.add(toObjectArray(parts));
-
- // size and flag
- parts = Parts.fullName("1328613172.M569643P1862V0000000000000902I00EE42CE_0.km1111,S=13103:2,S")
- .timeSeconds(1328613172).size(13103L)
- .baseName("1328613172.M569643P1862V0000000000000902I00EE42CE_0.km1111").flagSeen();
- args.add(toObjectArray(parts));
-
- // size, no flags
- parts = Parts.fullName("1340124194.M723289P3184V0000000000000902I006780E9_6.km1111,S=1344:2,")
- .baseName("1340124194.M723289P3184V0000000000000902I006780E9_6.km1111").timeSeconds(1340124194)
- .size(1344L);
- args.add(toObjectArray(parts));
-
- // three flags, no size
- parts = Parts.fullName("1106685752.12132_0.km1111:2,FRS").baseName("1106685752.12132_0.km1111")
- .timeSeconds(1106685752).flagFlagged().flagAnswered().flagSeen();
- args.add(toObjectArray(parts));
-
- // with dovecot attributes
- parts = Parts.fullName("1035478339.27041_118.foo.org,S=1000,W=1030:2,S")
- .baseName("1035478339.27041_118.foo.org").timeSeconds(1035478339).size(1000L).flagSeen();
- args.add(toObjectArray(parts));
-
- parts = parts.copy();
- parts.fullName = "1035478339.27041_118.foo.org,W=1030,S=1000:2,S";
- args.add(toObjectArray(parts));
-
- // new mail, no info part at all. found in courier maildirs
- parts = Parts.fullName("1355543030.15049_0.foo.org").baseName("1355543030.15049_0.foo.org")
- .timeSeconds(1355543030).noFlags();
- args.add(toObjectArray(parts));
-
- // new mail, generated by james
- parts = Parts.fullName("1356001301.e563087e30181513.foohost,S=629:2,")
- .baseName("1356001301.e563087e30181513.foohost").timeSeconds(1356001301).size(629L);
- args.add(toObjectArray(parts));
-
- parts = Parts.fullName("1355675588.5c7e107958851103.foohost,S=654:2,S").timeSeconds(1355675588)
- .baseName("1355675588.5c7e107958851103.foohost").size(654L).flagSeen();
- args.add(toObjectArray(parts));
-
- parts = Parts.fullName("1355675651.f3dd564265174501.foohost,S=661:2,")
- .baseName("1355675651.f3dd564265174501.foohost").timeSeconds(1355675651).size(661L);
- args.add(toObjectArray(parts));
-
- return args;
- }
-
- private static Object[] toObjectArray(Parts validName) {
- return new Object[] { validName };
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
+
+class MailderMailboxMessageNameTest {
+
+ private static Stream<Arguments> testParsing() {
+ return Stream.of(
+ // no size, two flags
+ Parts.fullName("1328026049.19146_0.km1111:2,RS").timeSeconds(1328026049)
+ .baseName("1328026049.19146_0.km1111")
+ .flagAnswered()
+ .flagSeen(),
+ // size and flag
+ Parts.fullName("1328613172.M569643P1862V0000000000000902I00EE42CE_0.km1111,S=13103:2,S")
+ .timeSeconds(1328613172)
+ .size(13103L)
+ .baseName("1328613172.M569643P1862V0000000000000902I00EE42CE_0.km1111")
+ .flagSeen(),
+ // size, no flags
+ Parts.fullName("1340124194.M723289P3184V0000000000000902I006780E9_6.km1111,S=1344:2,")
+ .baseName("1340124194.M723289P3184V0000000000000902I006780E9_6.km1111")
+ .timeSeconds(1340124194)
+ .size(1344L),
+ // three flags, no size
+ Parts.fullName("1106685752.12132_0.km1111:2,FRS")
+ .baseName("1106685752.12132_0.km1111")
+ .timeSeconds(1106685752)
+ .flagFlagged()
+ .flagAnswered()
+ .flagSeen(),
+ // with dovecot attributes
+ Parts.fullName("1035478339.27041_118.foo.org,S=1000,W=1030:2,S")
+ .baseName("1035478339.27041_118.foo.org")
+ .timeSeconds(1035478339)
+ .size(1000L)
+ .flagSeen(),
+ Parts.fullName("1035478339.27041_118.foo.org,W=1030,S=1000:2,S")
+ .baseName("1035478339.27041_118.foo.org")
+ .timeSeconds(1035478339)
+ .size(1000L)
+ .flagSeen(),
+ // new mail, no info part at all. found in courier maildirs
+ Parts.fullName("1355543030.15049_0.foo.org")
+ .baseName("1355543030.15049_0.foo.org")
+ .timeSeconds(1355543030)
+ .noFlags(),
+ // new mail, generated by james
+ Parts.fullName("1356001301.e563087e30181513.foohost,S=629:2,")
+ .baseName("1356001301.e563087e30181513.foohost")
+ .timeSeconds(1356001301)
+ .size(629L),
+ Parts.fullName("1355675588.5c7e107958851103.foohost,S=654:2,S")
+ .timeSeconds(1355675588)
+ .baseName("1355675588.5c7e107958851103.foohost")
+ .size(654L)
+ .flagSeen(),
+ Parts.fullName("1355675651.f3dd564265174501.foohost,S=661:2,")
+ .baseName("1355675651.f3dd564265174501.foohost")
+ .timeSeconds(1355675651)
+ .size(661L))
+ .map(Arguments::of);
}
- @Test
- public void testParsing() throws Exception {
- try {
- parseValidName(validName, parts);
- } catch (Throwable e) {
- throw new Exception("Valid name '" + validName + "' failed.", e);
- }
+ @ParameterizedTest
+ @MethodSource
+ void testParsing(Parts parts) {
+ parseValidName(parts);
}
- private void parseValidName(String name, Parts parts) throws Exception {
- MaildirMessageName mn = new MaildirMessageName(null, name);
+ private void parseValidName(Parts parts) {
+ MaildirMessageName mn = new MaildirMessageName(null, parts.fullName);
mn.setMessageNameStrictParse(false);
if (parts.time == null) {
assertThat(mn.getInternalDate()).describedAs("date").isNull();
@@ -147,11 +133,6 @@ public class MailderMailboxMessageNameTest {
return this;
}
- public Parts flagRecent() {
- this.flags.add(Flags.Flag.RECENT);
- return this;
- }
-
public Parts flagAnswered() {
this.flags.add(Flags.Flag.ANSWERED);
return this;
@@ -162,16 +143,6 @@ public class MailderMailboxMessageNameTest {
return this;
}
- public Parts flagDeleted() {
- this.flags.add(Flags.Flag.DELETED);
- return this;
- }
-
- public Parts flagDraft() {
- this.flags.add(Flags.Flag.DRAFT);
- return this;
- }
-
public Parts baseName(String baseName) {
this.baseName = baseName;
return this;
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org