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 2018/07/30 06:54:51 UTC
[5/8] james-project git commit: JAMES-2470 Enable Tika container to
be reused across classes
JAMES-2470 Enable Tika container to be reused across classes
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/1f51b69d
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/1f51b69d
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/1f51b69d
Branch: refs/heads/master
Commit: 1f51b69dd778724592b0a1030add9ce2d5f6c31f
Parents: ddf6a53
Author: benwa <bt...@linagora.com>
Authored: Thu Jul 26 10:01:08 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Mon Jul 30 13:51:28 2018 +0700
----------------------------------------------------------------------
mailbox/elasticsearch/pom.xml | 12 +++++
.../ElasticSearchIntegrationTest.java | 4 +-
.../json/IndexableMessageTest.java | 4 +-
.../json/MessageToElasticSearchJsonTest.java | 4 +-
.../james/mailbox/tika/TikaContainer.java | 2 +-
.../tika/TikaContainerSingletonRule.java | 56 ++++++++++++++++++++
6 files changed, 75 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/1f51b69d/mailbox/elasticsearch/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/pom.xml b/mailbox/elasticsearch/pom.xml
index 22263b5..f2a2efd 100644
--- a/mailbox/elasticsearch/pom.xml
+++ b/mailbox/elasticsearch/pom.xml
@@ -172,4 +172,16 @@
</dependency>
</dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <reuseForks>true</reuseForks>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
</project>
http://git-wip-us.apache.org/repos/asf/james-project/blob/1f51b69d/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java
index f237799..c6225c9 100644
--- a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java
+++ b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java
@@ -44,7 +44,7 @@ import org.apache.james.mailbox.model.SearchQuery;
import org.apache.james.mailbox.store.StoreMessageIdManager;
import org.apache.james.mailbox.store.search.AbstractMessageSearchIndexTest;
import org.apache.james.mailbox.tika.TikaConfiguration;
-import org.apache.james.mailbox.tika.TikaContainer;
+import org.apache.james.mailbox.tika.TikaContainerSingletonRule;
import org.apache.james.mailbox.tika.TikaHttpClientImpl;
import org.apache.james.mailbox.tika.TikaTextExtractor;
import org.apache.james.metrics.api.NoopMetricFactory;
@@ -70,7 +70,7 @@ public class ElasticSearchIntegrationTest extends AbstractMessageSearchIndexTest
public RuleChain ruleChain = RuleChain.outerRule(temporaryFolder).around(embeddedElasticSearch);
@ClassRule
- public static TikaContainer tika = new TikaContainer();
+ public static TikaContainerSingletonRule tika = TikaContainerSingletonRule.rule;
private TikaTextExtractor textExtractor;
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/1f51b69d/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessageTest.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessageTest.java b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessageTest.java
index 5119130..67535ff 100644
--- a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessageTest.java
+++ b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessageTest.java
@@ -33,6 +33,7 @@ import javax.mail.Flags;
import org.apache.james.mailbox.MessageUid;
import org.apache.james.mailbox.elasticsearch.IndexAttachments;
+import org.apache.james.mailbox.tika.TikaContainerSingletonRule;
import org.apache.james.mailbox.extractor.ParsedContent;
import org.apache.james.mailbox.extractor.TextExtractor;
import org.apache.james.mailbox.inmemory.InMemoryMessageId;
@@ -44,7 +45,6 @@ import org.apache.james.mailbox.store.mail.model.MailboxMessage;
import org.apache.james.mailbox.store.mail.model.impl.PropertyBuilder;
import org.apache.james.mailbox.store.mail.model.impl.SimpleProperty;
import org.apache.james.mailbox.tika.TikaConfiguration;
-import org.apache.james.mailbox.tika.TikaContainer;
import org.apache.james.mailbox.tika.TikaHttpClientImpl;
import org.apache.james.mailbox.tika.TikaTextExtractor;
import org.apache.james.metrics.api.NoopMetricFactory;
@@ -61,7 +61,7 @@ public class IndexableMessageTest {
public static final MessageUid MESSAGE_UID = MessageUid.of(154);
@ClassRule
- public static TikaContainer tika = new TikaContainer();
+ public static TikaContainerSingletonRule tika = TikaContainerSingletonRule.rule;
private TikaTextExtractor textExtractor;
http://git-wip-us.apache.org/repos/asf/james-project/blob/1f51b69d/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJsonTest.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJsonTest.java b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJsonTest.java
index a7d1943..9529e60 100644
--- a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJsonTest.java
+++ b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJsonTest.java
@@ -36,6 +36,7 @@ import org.apache.james.mailbox.FlagsBuilder;
import org.apache.james.mailbox.MailboxSession.User;
import org.apache.james.mailbox.MessageUid;
import org.apache.james.mailbox.elasticsearch.IndexAttachments;
+import org.apache.james.mailbox.tika.TikaContainerSingletonRule;
import org.apache.james.mailbox.extractor.TextExtractor;
import org.apache.james.mailbox.mock.MockMailboxSession;
import org.apache.james.mailbox.model.MessageId;
@@ -46,7 +47,6 @@ import org.apache.james.mailbox.store.mail.model.MailboxMessage;
import org.apache.james.mailbox.store.mail.model.impl.PropertyBuilder;
import org.apache.james.mailbox.store.mail.model.impl.SimpleMailboxMessage;
import org.apache.james.mailbox.tika.TikaConfiguration;
-import org.apache.james.mailbox.tika.TikaContainer;
import org.apache.james.mailbox.tika.TikaHttpClientImpl;
import org.apache.james.mailbox.tika.TikaTextExtractor;
import org.apache.james.metrics.api.NoopMetricFactory;
@@ -73,7 +73,7 @@ public class MessageToElasticSearchJsonTest {
private PropertyBuilder propertyBuilder;
@ClassRule
- public static TikaContainer tika = new TikaContainer();
+ public static TikaContainerSingletonRule tika = TikaContainerSingletonRule.rule;
@Before
public void setUp() throws Exception {
http://git-wip-us.apache.org/repos/asf/james-project/blob/1f51b69d/mailbox/tika/src/test/java/org/apache/james/mailbox/tika/TikaContainer.java
----------------------------------------------------------------------
diff --git a/mailbox/tika/src/test/java/org/apache/james/mailbox/tika/TikaContainer.java b/mailbox/tika/src/test/java/org/apache/james/mailbox/tika/TikaContainer.java
index ec6b776..c2f23dc 100644
--- a/mailbox/tika/src/test/java/org/apache/james/mailbox/tika/TikaContainer.java
+++ b/mailbox/tika/src/test/java/org/apache/james/mailbox/tika/TikaContainer.java
@@ -47,7 +47,7 @@ public class TikaContainer extends ExternalResource {
start();
}
- public void start() throws Exception {
+ public void start() {
tika.start();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/1f51b69d/mailbox/tika/src/test/java/org/apache/james/mailbox/tika/TikaContainerSingletonRule.java
----------------------------------------------------------------------
diff --git a/mailbox/tika/src/test/java/org/apache/james/mailbox/tika/TikaContainerSingletonRule.java b/mailbox/tika/src/test/java/org/apache/james/mailbox/tika/TikaContainerSingletonRule.java
new file mode 100644
index 0000000..1fefb78
--- /dev/null
+++ b/mailbox/tika/src/test/java/org/apache/james/mailbox/tika/TikaContainerSingletonRule.java
@@ -0,0 +1,56 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+
+package org.apache.james.mailbox.tika;
+
+import org.junit.rules.TestRule;
+import org.junit.runner.Description;
+import org.junit.runners.model.Statement;
+
+public class TikaContainerSingletonRule implements TestRule {
+
+ public static final TikaContainerSingletonRule rule = new TikaContainerSingletonRule(new TikaContainer());
+
+ private final TikaContainer tikaContainer;
+
+ private TikaContainerSingletonRule(TikaContainer tikaContainer) {
+ this.tikaContainer = tikaContainer;
+ this.tikaContainer.start();
+ }
+
+ @Override
+ public Statement apply(Statement statement, Description description) {
+ return statement;
+ }
+
+ public String getIp() {
+ return tikaContainer.getIp();
+ }
+
+ public int getPort() {
+ return tikaContainer.getPort();
+ }
+
+ public int getTimeoutInMillis() {
+ return tikaContainer.getTimeoutInMillis();
+ }
+
+ // Cleanup will be performed by test container resource reaper
+
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org