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/15 02:41:12 UTC
[james-project] 03/30: JAMES-2704 RandomStoringTest should have a
per method lifecycle
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 <bt...@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-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org