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 <[email protected]> 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: [email protected] For additional commands, e-mail: [email protected]
