[Refactoring] Move ElasticSearchListeningMessageSearchIndexTest to JUnit 5
diff --git a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndexTest.java b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndexTest.java
index 8b227f5..0b1135f 100644
--- a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndexTest.java
+++ b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndexTest.java
@@ -31,7 +31,7 @@
import javax.mail.Flags;
import javax.mail.util.SharedByteArrayInputStream;
-import org.apache.james.backends.es.DockerElasticSearchRule;
+import org.apache.james.backends.es.DockerElasticSearchExtension;
import org.apache.james.backends.es.ElasticSearchIndexer;
import org.apache.james.core.Username;
import org.apache.james.mailbox.DefaultMailboxes;
@@ -73,27 +73,27 @@
import org.apache.james.mailbox.store.mail.model.impl.SimpleMailboxMessage;
import org.awaitility.Duration;
import org.elasticsearch.client.RestHighLevelClient;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
import org.testcontainers.shaded.com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
-public class ElasticSearchListeningMessageSearchIndexTest {
- private static final int SIZE = 25;
- private static final int BODY_START_OCTET = 100;
- private static final TestId MAILBOX_ID = TestId.of(1L);
- private static final ModSeq MOD_SEQ = ModSeq.of(42L);
- private static final Username USERNAME = Username.of("user");
- private static final MessageUid MESSAGE_UID_1 = MessageUid.of(25);
- private static final MessageUid MESSAGE_UID_2 = MessageUid.of(26);
- private static final MessageUid MESSAGE_UID_3 = MessageUid.of(27);
- private static final MessageId MESSAGE_ID_1 = TestMessageId.of(18L);
- private static final MessageId MESSAGE_ID_2 = TestMessageId.of(19L);
- private static final MessageId MESSAGE_ID_3 = TestMessageId.of(20L);
+class ElasticSearchListeningMessageSearchIndexTest {
+ static final int SIZE = 25;
+ static final int BODY_START_OCTET = 100;
+ static final TestId MAILBOX_ID = TestId.of(1L);
+ static final ModSeq MOD_SEQ = ModSeq.of(42L);
+ static final Username USERNAME = Username.of("user");
+ static final MessageUid MESSAGE_UID_1 = MessageUid.of(25);
+ static final MessageUid MESSAGE_UID_2 = MessageUid.of(26);
+ static final MessageUid MESSAGE_UID_3 = MessageUid.of(27);
+ static final MessageId MESSAGE_ID_1 = TestMessageId.of(18L);
+ static final MessageId MESSAGE_ID_2 = TestMessageId.of(19L);
+ static final MessageId MESSAGE_ID_3 = TestMessageId.of(20L);
- private static final SimpleMailboxMessage.Builder MESSAGE_BUILDER = SimpleMailboxMessage.builder()
+ static final SimpleMailboxMessage.Builder MESSAGE_BUILDER = SimpleMailboxMessage.builder()
.mailboxId(MAILBOX_ID)
.flags(new Flags())
.bodyStartOctet(BODY_START_OCTET)
@@ -103,15 +103,15 @@
.propertyBuilder(new PropertyBuilder())
.modseq(MOD_SEQ);
- private static final SimpleMailboxMessage MESSAGE_1 = MESSAGE_BUILDER.messageId(MESSAGE_ID_1)
+ static final SimpleMailboxMessage MESSAGE_1 = MESSAGE_BUILDER.messageId(MESSAGE_ID_1)
.uid(MESSAGE_UID_1)
.build();
- private static final SimpleMailboxMessage MESSAGE_2 = MESSAGE_BUILDER.messageId(MESSAGE_ID_2)
+ static final SimpleMailboxMessage MESSAGE_2 = MESSAGE_BUILDER.messageId(MESSAGE_ID_2)
.uid(MESSAGE_UID_2)
.build();
- private static final MessageAttachment MESSAGE_ATTACHMENT = MessageAttachment.builder()
+ static final MessageAttachment MESSAGE_ATTACHMENT = MessageAttachment.builder()
.attachment(Attachment.builder()
.bytes("".getBytes(StandardCharsets.UTF_8))
.type("type")
@@ -120,31 +120,31 @@
.isInline(false)
.build();
- private static final SimpleMailboxMessage MESSAGE_WITH_ATTACHMENT = MESSAGE_BUILDER.messageId(MESSAGE_ID_3)
+ static final SimpleMailboxMessage MESSAGE_WITH_ATTACHMENT = MESSAGE_BUILDER.messageId(MESSAGE_ID_3)
.uid(MESSAGE_UID_3)
.addAttachments(ImmutableList.of(MESSAGE_ATTACHMENT))
.build();
static class FailingTextExtractor implements TextExtractor {
@Override
- public ParsedContent extractContent(InputStream inputStream, String contentType) throws Exception {
+ public ParsedContent extractContent(InputStream inputStream, String contentType) {
throw new RuntimeException();
}
}
- private ElasticSearchListeningMessageSearchIndex testee;
- private MailboxSession session;
- private Mailbox mailbox;
- private MailboxSessionMapperFactory mapperFactory;
- private ElasticSearchIndexer elasticSearchIndexer;
- private ElasticSearchSearcher elasticSearchSearcher;
- private SessionProviderImpl sessionProvider;
+ ElasticSearchListeningMessageSearchIndex testee;
+ MailboxSession session;
+ Mailbox mailbox;
+ MailboxSessionMapperFactory mapperFactory;
+ ElasticSearchIndexer elasticSearchIndexer;
+ ElasticSearchSearcher elasticSearchSearcher;
+ SessionProviderImpl sessionProvider;
- @Rule
- public DockerElasticSearchRule elasticSearch = new DockerElasticSearchRule();
+ @RegisterExtension
+ DockerElasticSearchExtension elasticSearch = new DockerElasticSearchExtension();
- @Before
- public void setup() throws MailboxException, IOException {
+ @BeforeEach
+ void setup() throws MailboxException, IOException {
mapperFactory = new InMemoryMailboxSessionMapperFactory();
MessageToElasticSearchJson messageToElasticSearchJson = new MessageToElasticSearchJson(
@@ -155,7 +155,7 @@
InMemoryMessageId.Factory messageIdFactory = new InMemoryMessageId.Factory();
RestHighLevelClient client = MailboxIndexCreationUtil.prepareDefaultClient(
- elasticSearch.clientProvider().get(),
+ elasticSearch.getDockerElasticSearch().clientProvider().get(),
elasticSearch.getDockerElasticSearch().configuration());
elasticSearchSearcher = new ElasticSearchSearcher(client,
@@ -182,13 +182,13 @@
}
@Test
- public void deserializeElasticSearchListeningMessageSearchIndexGroup() throws Exception {
+ void deserializeElasticSearchListeningMessageSearchIndexGroup() throws Exception {
assertThat(Group.deserialize("org.apache.james.mailbox.elasticsearch.events.ElasticSearchListeningMessageSearchIndex$ElasticSearchListeningMessageSearchIndexGroup"))
.isEqualTo(new ElasticSearchListeningMessageSearchIndex.ElasticSearchListeningMessageSearchIndexGroup());
}
@Test
- public void addShouldIndexMessageWithoutAttachment() throws Exception {
+ void addShouldIndexMessageWithoutAttachment() throws Exception {
testee.add(session, mailbox, MESSAGE_1);
elasticSearch.awaitForElasticSearch();
@@ -199,7 +199,7 @@
@Test
- public void addShouldIndexMessageWithAttachment() throws Exception {
+ void addShouldIndexMessageWithAttachment() throws Exception {
testee.add(session, mailbox, MESSAGE_WITH_ATTACHMENT);
elasticSearch.awaitForElasticSearch();
@@ -209,7 +209,7 @@
}
@Test
- public void addShouldBeIndempotent() throws Exception {
+ void addShouldBeIndempotent() throws Exception {
testee.add(session, mailbox, MESSAGE_1);
testee.add(session, mailbox, MESSAGE_1);
@@ -221,7 +221,7 @@
}
@Test
- public void addShouldIndexMultipleMessages() throws Exception {
+ void addShouldIndexMultipleMessages() throws Exception {
testee.add(session, mailbox, MESSAGE_1);
testee.add(session, mailbox, MESSAGE_2);
@@ -233,7 +233,7 @@
}
@Test
- public void addShouldIndexEmailBodyWhenNotIndexableAttachment() throws Exception {
+ void addShouldIndexEmailBodyWhenNotIndexableAttachment() throws Exception {
MessageToElasticSearchJson messageToElasticSearchJson = new MessageToElasticSearchJson(
new FailingTextExtractor(),
ZoneId.of("Europe/Paris"),
@@ -251,7 +251,7 @@
}
@Test
- public void addShouldPropagateExceptionWhenExceptionOccurs() throws Exception {
+ void addShouldPropagateExceptionWhenExceptionOccurs() throws Exception {
elasticSearch.getDockerElasticSearch().pause();
Thread.sleep(Duration.FIVE_SECONDS.getValueInMS()); // Docker pause is asynchronous and we found no way to poll for it
@@ -262,7 +262,7 @@
}
@Test
- public void deleteShouldRemoveIndex() throws IOException {
+ void deleteShouldRemoveIndex() throws IOException {
testee.add(session, mailbox, MESSAGE_1);
elasticSearch.awaitForElasticSearch();
@@ -275,7 +275,7 @@
}
@Test
- public void deleteShouldOnlyRemoveIndexesPassedAsArguments() throws IOException {
+ void deleteShouldOnlyRemoveIndexesPassedAsArguments() throws IOException {
testee.add(session, mailbox, MESSAGE_1);
testee.add(session, mailbox, MESSAGE_2);
@@ -290,7 +290,7 @@
}
@Test
- public void deleteShouldRemoveMultipleIndexes() throws IOException {
+ void deleteShouldRemoveMultipleIndexes() throws IOException {
testee.add(session, mailbox, MESSAGE_1);
testee.add(session, mailbox, MESSAGE_2);
@@ -305,7 +305,7 @@
}
@Test
- public void deleteShouldBeIdempotent() throws IOException {
+ void deleteShouldBeIdempotent() throws IOException {
testee.add(session, mailbox, MESSAGE_1);
elasticSearch.awaitForElasticSearch();
@@ -319,13 +319,13 @@
}
@Test
- public void deleteShouldNotThrowOnUnknownMessageUid() throws Exception {
+ void deleteShouldNotThrowOnUnknownMessageUid() {
assertThatCode(() -> testee.delete(session, mailbox, Lists.newArrayList(MESSAGE_UID_1)))
.doesNotThrowAnyException();
}
@Test
- public void deleteShouldPropagateExceptionWhenExceptionOccurs() throws Exception {
+ void deleteShouldPropagateExceptionWhenExceptionOccurs() throws Exception {
elasticSearch.getDockerElasticSearch().pause();
Thread.sleep(Duration.FIVE_SECONDS.getValueInMS()); // Docker pause is asynchronous and we found no way to poll for it
@@ -336,7 +336,7 @@
}
@Test
- public void updateShouldUpdateIndex() throws Exception {
+ void updateShouldUpdateIndex() throws Exception {
testee.add(session, mailbox, MESSAGE_1);
elasticSearch.awaitForElasticSearch();
@@ -357,7 +357,7 @@
}
@Test
- public void updateShouldNotUpdateNorThrowOnUnknownMessageUid() throws Exception {
+ void updateShouldNotUpdateNorThrowOnUnknownMessageUid() throws Exception {
testee.add(session, mailbox, MESSAGE_1);
elasticSearch.awaitForElasticSearch();
@@ -378,7 +378,7 @@
}
@Test
- public void updateShouldBeIdempotent() throws Exception {
+ void updateShouldBeIdempotent() throws Exception {
testee.add(session, mailbox, MESSAGE_1);
elasticSearch.awaitForElasticSearch();
@@ -400,7 +400,7 @@
}
@Test
- public void updateShouldPropagateExceptionWhenExceptionOccurs() throws Exception {
+ void updateShouldPropagateExceptionWhenExceptionOccurs() throws Exception {
elasticSearch.getDockerElasticSearch().pause();
Thread.sleep(Duration.FIVE_SECONDS.getValueInMS()); // Docker pause is asynchronous and we found no way to poll for it
@@ -419,7 +419,7 @@
}
@Test
- public void deleteAllShouldRemoveAllIndexes() throws Exception {
+ void deleteAllShouldRemoveAllIndexes() throws Exception {
testee.add(session, mailbox, MESSAGE_1);
testee.add(session, mailbox, MESSAGE_2);
@@ -434,7 +434,7 @@
}
@Test
- public void deleteAllShouldNotThrowWhenEmptyIndex() {
+ void deleteAllShouldNotThrowWhenEmptyIndex() {
assertThatCode(() -> testee.deleteAll(session, mailbox.getMailboxId()))
.doesNotThrowAnyException();
}