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 21fd5931dcfac92d5ca50335189fc7caeb9c75e8 Author: Benoit Tellier <btell...@linagora.com> AuthorDate: Wed Nov 6 16:38:16 2019 +0700 JAMES-2704 RandomStoringTest should have a per method lifecycle Also IMAP connections were not closed upon failure --- .../apache/james/smtp/SmtpRandomStoringTest.java | 42 ++++++++++------------ 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/smtp/SmtpRandomStoringTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/smtp/SmtpRandomStoringTest.java index 4faf1e8..28287c4 100644 --- a/server/mailet/integration-testing/src/test/java/org/apache/james/smtp/SmtpRandomStoringTest.java +++ b/server/mailet/integration-testing/src/test/java/org/apache/james/smtp/SmtpRandomStoringTest.java @@ -54,9 +54,8 @@ import org.apache.james.utils.SMTPMessageSender; import org.apache.mailet.Mail; import org.awaitility.Duration; import org.awaitility.core.ConditionFactory; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.ClassRule; +import org.junit.After; +import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; @@ -85,25 +84,25 @@ public class SmtpRandomStoringTest { .build(); @Rule - public IMAPMessageReader imapMessageReader = new IMAPMessageReader(); - @ClassRule - public static SMTPMessageSender messageSender = new SMTPMessageSender(DEFAULT_DOMAIN); - @ClassRule - public static TemporaryFolder temporaryFolder = new TemporaryFolder(); + public SMTPMessageSender messageSender = new SMTPMessageSender(DEFAULT_DOMAIN); + @Rule + public TemporaryFolder temporaryFolder = new TemporaryFolder(); - private static TemporaryJamesServer jamesServer; - private static ImapGuiceProbe imapProbe; + private TemporaryJamesServer jamesServer; + private ImapGuiceProbe imapProbe; + private Collection<IMAPMessageReader> connections; - @BeforeClass - public static void setUp() throws Exception { + @Before + public void setUp() throws Exception { createJamesServer(); createUsersAndMailboxes(); imapProbe = jamesServer.getProbe(ImapGuiceProbe.class); + connections = ImmutableList.of(); } - private static void createUsersAndMailboxes() throws Exception { + private void createUsersAndMailboxes() throws Exception { MailboxProbeImpl mailboxes = jamesServer.getProbe(MailboxProbeImpl.class); DataProbe dataProbe = jamesServer.getProbe(DataProbeImpl.class); dataProbe.addDomain(DEFAULT_DOMAIN); @@ -130,7 +129,7 @@ public class SmtpRandomStoringTest { } } - private static void createJamesServer() throws Exception { + private void createJamesServer() throws Exception { MailetContainer.Builder mailetContainer = TemporaryJamesServer.SIMPLE_MAILET_CONTAINER_CONFIGURATION .putProcessor(ProcessorConfiguration.transport() .addMailet(RANDOM_STORING) @@ -142,7 +141,7 @@ public class SmtpRandomStoringTest { .build(temporaryFolder.newFolder()); } - private static void sendMails() throws Exception { + private void sendMails() throws Exception { SMTPMessageSender authenticatedSmtpConnection = messageSender.connect(LOCALHOST_IP, jamesServer.getProbe(SmtpGuiceProbe.class).getSmtpPort()) .authenticate(FROM, PASSWORD); @@ -152,35 +151,32 @@ public class SmtpRandomStoringTest { .sendMessage(buildMail("Message " + index))).sneakyThrow()); } - @AfterClass - public static void tearDown() { + @After + public void tearDown() { + connections.forEach(Throwing.consumer(IMAPMessageReader::close).sneakyThrow()); jamesServer.shutdown(); } @Test public void oneHundredMailsShouldHaveBeenStoredBetweenFourAndEightTimes() { - Collection<IMAPMessageReader> connections = USERS + connections = USERS .stream() .map(this::createIMAPConnection) .collect(Guavate.toImmutableList()); awaitAtMostTenSeconds .untilAsserted(() -> checkNumberOfMessages(connections)); - - connections.forEach(Throwing.consumer(IMAPMessageReader::close).sneakyThrow()); } @Test public void messagesShouldBeRandomlyAssignedToEveryMailboxesOfEveryUsers() { - Collection<IMAPMessageReader> connections = USERS + connections = USERS .stream() .map(this::createIMAPConnection) .collect(Guavate.toImmutableList()); awaitAtMostTenSeconds .untilAsserted(() -> checkMailboxesHaveBeenFilled(connections)); - - connections.forEach(Throwing.consumer(IMAPMessageReader::close).sneakyThrow()); } private IMAPMessageReader createIMAPConnection(String username) { --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org