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/05/10 11:30:22 UTC
[james-project] 09/17: JAMES-2717 Replace embedded ES in
ElasticSearchIndexerTest
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 1c771a89b5d433dad99c1cfd5f2d44d35e71314e
Author: Tran Tien Duc <dt...@linagora.com>
AuthorDate: Wed May 8 16:47:40 2019 +0700
JAMES-2717 Replace embedded ES in ElasticSearchIndexerTest
---
.../backends/es/ElasticSearchIndexerTest.java | 58 ++++++++++------------
.../src/test/resources/logback-test.xml | 12 +++++
2 files changed, 38 insertions(+), 32 deletions(-)
diff --git a/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/ElasticSearchIndexerTest.java b/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/ElasticSearchIndexerTest.java
index db60079..4904ce6 100644
--- a/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/ElasticSearchIndexerTest.java
+++ b/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/ElasticSearchIndexerTest.java
@@ -25,17 +25,13 @@ import static org.elasticsearch.index.query.QueryBuilders.termQuery;
import java.util.concurrent.Executors;
-import org.apache.james.backends.es.utils.TestingClientProvider;
import org.apache.james.util.concurrent.NamedThreadFactory;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.Client;
import org.elasticsearch.index.query.QueryBuilders;
-import org.elasticsearch.node.Node;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
-import org.junit.rules.RuleChain;
-import org.junit.rules.TemporaryFolder;
import com.google.common.collect.ImmutableList;
@@ -45,37 +41,35 @@ public class ElasticSearchIndexerTest {
private static final IndexName INDEX_NAME = new IndexName("index_name");
private static final WriteAliasName ALIAS_NAME = new WriteAliasName("alias_name");
private static final TypeName TYPE_NAME = new TypeName("type_name");
- private TemporaryFolder temporaryFolder = new TemporaryFolder();
- private EmbeddedElasticSearch embeddedElasticSearch = new EmbeddedElasticSearch(temporaryFolder);
@Rule
- public RuleChain ruleChain = RuleChain.outerRule(temporaryFolder).around(embeddedElasticSearch);
-
- private Node node;
+ public DockerElasticSearchRule elasticSearch = new DockerElasticSearchRule();
private ElasticSearchIndexer testee;
@Before
public void setup() {
- node = embeddedElasticSearch.getNode();
- TestingClientProvider clientProvider = new TestingClientProvider(node);
new IndexCreationFactory(ElasticSearchConfiguration.DEFAULT_CONFIGURATION)
.useIndex(INDEX_NAME)
.addAlias(ALIAS_NAME)
- .createIndexAndAliases(clientProvider.get());
- testee = new ElasticSearchIndexer(clientProvider.get(),
+ .createIndexAndAliases(getESClient());
+ testee = new ElasticSearchIndexer(getESClient(),
Executors.newSingleThreadExecutor(NamedThreadFactory.withClassName(getClass())),
ALIAS_NAME, TYPE_NAME, MINIMUM_BATCH_SIZE);
}
-
+
+ private Client getESClient() {
+ return elasticSearch.clientProvider().get();
+ }
+
@Test
public void indexMessageShouldWork() {
String messageId = "1";
String content = "{\"message\": \"trying out Elasticsearch\"}";
testee.index(messageId, content);
- embeddedElasticSearch.awaitForElasticSearch();
+ elasticSearch.awaitForElasticSearch();
- try (Client client = node.client()) {
+ try (Client client = getESClient()) {
SearchResponse searchResponse = client.prepareSearch(INDEX_NAME.getValue())
.setTypes(TYPE_NAME.getValue())
.setQuery(QueryBuilders.matchQuery("message", "trying"))
@@ -96,12 +90,12 @@ public class ElasticSearchIndexerTest {
String content = "{\"message\": \"trying out Elasticsearch\",\"field\":\"Should be unchanged\"}";
testee.index(messageId, content);
- embeddedElasticSearch.awaitForElasticSearch();
+ elasticSearch.awaitForElasticSearch();
testee.update(ImmutableList.of(new UpdatedRepresentation(messageId, "{\"message\": \"mastering out Elasticsearch\"}")));
- embeddedElasticSearch.awaitForElasticSearch();
+ elasticSearch.awaitForElasticSearch();
- try (Client client = node.client()) {
+ try (Client client = getESClient()) {
SearchResponse searchResponse = client.prepareSearch(INDEX_NAME.getValue())
.setTypes(TYPE_NAME.getValue())
.setQuery(QueryBuilders.matchQuery("message", "mastering"))
@@ -109,7 +103,7 @@ public class ElasticSearchIndexerTest {
assertThat(searchResponse.getHits().getTotalHits()).isEqualTo(1);
}
- try (Client client = node.client()) {
+ try (Client client = getESClient()) {
SearchResponse searchResponse = client.prepareSearch(INDEX_NAME.getValue())
.setTypes(TYPE_NAME.getValue())
.setQuery(QueryBuilders.matchQuery("field", "unchanged"))
@@ -148,12 +142,12 @@ public class ElasticSearchIndexerTest {
String content = "{\"message\": \"trying out Elasticsearch\", \"property\":\"1\"}";
testee.index(messageId, content);
- embeddedElasticSearch.awaitForElasticSearch();
+ elasticSearch.awaitForElasticSearch();
testee.deleteAllMatchingQuery(termQuery("property", "1")).get();
- embeddedElasticSearch.awaitForElasticSearch();
+ elasticSearch.awaitForElasticSearch();
- try (Client client = node.client()) {
+ try (Client client = getESClient()) {
SearchResponse searchResponse = client.prepareSearch(INDEX_NAME.getValue())
.setTypes(TYPE_NAME.getValue())
.setQuery(QueryBuilders.matchAllQuery())
@@ -178,12 +172,12 @@ public class ElasticSearchIndexerTest {
String content3 = "{\"message\": \"trying out Elasticsearch 3\", \"property\":\"2\"}";
testee.index(messageId3, content3);
- embeddedElasticSearch.awaitForElasticSearch();
+ elasticSearch.awaitForElasticSearch();
testee.deleteAllMatchingQuery(termQuery("property", "1")).get();
- embeddedElasticSearch.awaitForElasticSearch();
+ elasticSearch.awaitForElasticSearch();
- try (Client client = node.client()) {
+ try (Client client = getESClient()) {
SearchResponse searchResponse = client.prepareSearch(INDEX_NAME.getValue())
.setTypes(TYPE_NAME.getValue())
.setQuery(QueryBuilders.matchAllQuery())
@@ -198,12 +192,12 @@ public class ElasticSearchIndexerTest {
String content = "{\"message\": \"trying out Elasticsearch\"}";
testee.index(messageId, content);
- embeddedElasticSearch.awaitForElasticSearch();
+ elasticSearch.awaitForElasticSearch();
testee.delete(ImmutableList.of(messageId));
- embeddedElasticSearch.awaitForElasticSearch();
+ elasticSearch.awaitForElasticSearch();
- try (Client client = node.client()) {
+ try (Client client = getESClient()) {
SearchResponse searchResponse = client.prepareSearch(INDEX_NAME.getValue())
.setTypes(TYPE_NAME.getValue())
.setQuery(QueryBuilders.matchAllQuery())
@@ -228,12 +222,12 @@ public class ElasticSearchIndexerTest {
String content3 = "{\"message\": \"trying out Elasticsearch 3\", \"mailboxId\":\"2\"}";
testee.index(messageId3, content3);
- embeddedElasticSearch.awaitForElasticSearch();
+ elasticSearch.awaitForElasticSearch();
testee.delete(ImmutableList.of(messageId, messageId3));
- embeddedElasticSearch.awaitForElasticSearch();
+ elasticSearch.awaitForElasticSearch();
- try (Client client = node.client()) {
+ try (Client client = getESClient()) {
SearchResponse searchResponse = client.prepareSearch(INDEX_NAME.getValue())
.setTypes(TYPE_NAME.getValue())
.setQuery(QueryBuilders.matchAllQuery())
diff --git a/backends-common/elasticsearch/src/test/resources/logback-test.xml b/backends-common/elasticsearch/src/test/resources/logback-test.xml
new file mode 100644
index 0000000..dd2d81e
--- /dev/null
+++ b/backends-common/elasticsearch/src/test/resources/logback-test.xml
@@ -0,0 +1,12 @@
+<configuration>
+
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder>
+ <pattern>%date %-5level [%thread] - [%logger]- %msg%n</pattern>
+ </encoder>
+ </appender>
+
+ <root level="WARN">
+ <appender-ref ref="STDOUT" />
+ </root>
+</configuration>
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org