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 eed7a8bd8d45ba8245feac5de406c9fa67b5660e Author: Rene Cordier <[email protected]> AuthorDate: Wed May 15 15:51:07 2019 +0700 JAMES-2719 Migrate ES backend tests to ES6 syntax --- .../james/backends/es/v6/DockerElasticSearch.java | 17 +- .../backends/es/v6/DockerElasticSearchRule.java | 5 - .../backends/es/v6/ElasticSearchIndexerTest.java | 96 +++++----- .../backends/es/v6/IndexCreationFactoryTest.java | 4 +- .../backends/es/v6/NodeMappingFactoryTest.java | 35 ++-- .../backends/es/v6/search/ScrollIterableTest.java | 205 --------------------- .../es/v6/utils/TestingClientProvider.java | 37 ---- 7 files changed, 77 insertions(+), 322 deletions(-) diff --git a/backends-common/elasticsearch-v6/src/test/java/org/apache/james/backends/es/v6/DockerElasticSearch.java b/backends-common/elasticsearch-v6/src/test/java/org/apache/james/backends/es/v6/DockerElasticSearch.java index 6e159f7..413e7ef 100644 --- a/backends-common/elasticsearch-v6/src/test/java/org/apache/james/backends/es/v6/DockerElasticSearch.java +++ b/backends-common/elasticsearch-v6/src/test/java/org/apache/james/backends/es/v6/DockerElasticSearch.java @@ -57,13 +57,14 @@ public class DockerElasticSearch { } private static final int ES_HTTP_PORT = 9200; - private static final int ES_TCP_PORT = 9300; private final DockerGenericContainer eSContainer; public DockerElasticSearch() { - this.eSContainer = new DockerGenericContainer(Images.ELASTICSEARCH_2) - .withExposedPorts(ES_HTTP_PORT, ES_TCP_PORT) + this.eSContainer = new DockerGenericContainer(Images.ELASTICSEARCH_6) + .withEnv("discovery.type", "single-node") + .withAffinityToContainer() + .withExposedPorts(ES_HTTP_PORT) .waitingFor(new HostPortWaitStrategy().withRateLimiter(RateLimiters.TWENTIES_PER_SECOND)); } @@ -81,18 +82,10 @@ public class DockerElasticSearch { return eSContainer.getMappedPort(ES_HTTP_PORT); } - public int getTcpPort() { - return eSContainer.getMappedPort(ES_TCP_PORT); - } - public String getIp() { return eSContainer.getHostIp(); } - public Host getTcpHost() { - return Host.from(getIp(), getTcpPort()); - } - public Host getHttpHost() { return Host.from(getIp(), getHttpPort()); } @@ -117,7 +110,7 @@ public class DockerElasticSearch { public ClientProvider clientProvider() { Optional<String> noClusterName = Optional.empty(); - return ClientProviderImpl.fromHosts(ImmutableList.of(getTcpHost()), noClusterName); + return ClientProviderImpl.fromHosts(ImmutableList.of(getHttpHost()), noClusterName); } private ElasticSearchAPI esAPI() { diff --git a/backends-common/elasticsearch-v6/src/test/java/org/apache/james/backends/es/v6/DockerElasticSearchRule.java b/backends-common/elasticsearch-v6/src/test/java/org/apache/james/backends/es/v6/DockerElasticSearchRule.java index c5b19e5..e945e31 100644 --- a/backends-common/elasticsearch-v6/src/test/java/org/apache/james/backends/es/v6/DockerElasticSearchRule.java +++ b/backends-common/elasticsearch-v6/src/test/java/org/apache/james/backends/es/v6/DockerElasticSearchRule.java @@ -19,7 +19,6 @@ package org.apache.james.backends.es.v6; -import org.apache.james.util.Host; import org.junit.rules.ExternalResource; public class DockerElasticSearchRule extends ExternalResource { @@ -43,8 +42,4 @@ public class DockerElasticSearchRule extends ExternalResource { public void awaitForElasticSearch() { dockerElasticSearch.awaitForElasticSearch(); } - - public Host getTcpHost() { - return dockerElasticSearch.getTcpHost(); - } } diff --git a/backends-common/elasticsearch-v6/src/test/java/org/apache/james/backends/es/v6/ElasticSearchIndexerTest.java b/backends-common/elasticsearch-v6/src/test/java/org/apache/james/backends/es/v6/ElasticSearchIndexerTest.java index 4346958..fc2219e 100644 --- a/backends-common/elasticsearch-v6/src/test/java/org/apache/james/backends/es/v6/ElasticSearchIndexerTest.java +++ b/backends-common/elasticsearch-v6/src/test/java/org/apache/james/backends/es/v6/ElasticSearchIndexerTest.java @@ -26,9 +26,12 @@ import static org.elasticsearch.index.query.QueryBuilders.termQuery; import java.util.concurrent.Executors; import org.apache.james.util.concurrent.NamedThreadFactory; +import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.client.Client; +import org.elasticsearch.client.RequestOptions; +import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.index.query.QueryBuilders; +import org.elasticsearch.search.builder.SearchSourceBuilder; import org.junit.Before; import org.junit.Rule; import org.junit.Test; @@ -57,23 +60,24 @@ public class ElasticSearchIndexerTest { ALIAS_NAME, TYPE_NAME, MINIMUM_BATCH_SIZE); } - private Client getESClient() { + private RestHighLevelClient getESClient() { return elasticSearch.clientProvider().get(); } @Test - public void indexMessageShouldWork() { + public void indexMessageShouldWork() throws Exception { String messageId = "1"; String content = "{\"message\": \"trying out Elasticsearch\"}"; testee.index(messageId, content); elasticSearch.awaitForElasticSearch(); - try (Client client = getESClient()) { - SearchResponse searchResponse = client.prepareSearch(INDEX_NAME.getValue()) - .setTypes(TYPE_NAME.getValue()) - .setQuery(QueryBuilders.matchQuery("message", "trying")) - .get(); + try (RestHighLevelClient client = getESClient()) { + SearchResponse searchResponse = client.search( + new SearchRequest(INDEX_NAME.getValue()) + .types(TYPE_NAME.getValue()) + .source(new SearchSourceBuilder().query(QueryBuilders.matchQuery("message", "trying"))), + RequestOptions.DEFAULT); assertThat(searchResponse.getHits().getTotalHits()).isEqualTo(1); } } @@ -85,7 +89,7 @@ public class ElasticSearchIndexerTest { } @Test - public void updateMessages() { + public void updateMessages() throws Exception { String messageId = "1"; String content = "{\"message\": \"trying out Elasticsearch\",\"field\":\"Should be unchanged\"}"; @@ -95,19 +99,21 @@ public class ElasticSearchIndexerTest { testee.update(ImmutableList.of(new UpdatedRepresentation(messageId, "{\"message\": \"mastering out Elasticsearch\"}"))); elasticSearch.awaitForElasticSearch(); - try (Client client = getESClient()) { - SearchResponse searchResponse = client.prepareSearch(INDEX_NAME.getValue()) - .setTypes(TYPE_NAME.getValue()) - .setQuery(QueryBuilders.matchQuery("message", "mastering")) - .get(); + try (RestHighLevelClient client = getESClient()) { + SearchResponse searchResponse = client.search( + new SearchRequest(INDEX_NAME.getValue()) + .types(TYPE_NAME.getValue()) + .source(new SearchSourceBuilder().query(QueryBuilders.matchQuery("message", "mastering"))), + RequestOptions.DEFAULT); assertThat(searchResponse.getHits().getTotalHits()).isEqualTo(1); } - try (Client client = getESClient()) { - SearchResponse searchResponse = client.prepareSearch(INDEX_NAME.getValue()) - .setTypes(TYPE_NAME.getValue()) - .setQuery(QueryBuilders.matchQuery("field", "unchanged")) - .get(); + try (RestHighLevelClient client = getESClient()) { + SearchResponse searchResponse = client.search( + new SearchRequest(INDEX_NAME.getValue()) + .types(TYPE_NAME.getValue()) + .source(new SearchSourceBuilder().query(QueryBuilders.matchQuery("field", "unchanged"))), + RequestOptions.DEFAULT); assertThat(searchResponse.getHits().getTotalHits()).isEqualTo(1); } } @@ -147,11 +153,12 @@ public class ElasticSearchIndexerTest { testee.deleteAllMatchingQuery(termQuery("property", "1")).get(); elasticSearch.awaitForElasticSearch(); - try (Client client = getESClient()) { - SearchResponse searchResponse = client.prepareSearch(INDEX_NAME.getValue()) - .setTypes(TYPE_NAME.getValue()) - .setQuery(QueryBuilders.matchAllQuery()) - .get(); + try (RestHighLevelClient client = getESClient()) { + SearchResponse searchResponse = client.search( + new SearchRequest(INDEX_NAME.getValue()) + .types(TYPE_NAME.getValue()) + .source(new SearchSourceBuilder().query(QueryBuilders.matchAllQuery())), + RequestOptions.DEFAULT); assertThat(searchResponse.getHits().getTotalHits()).isEqualTo(0); } } @@ -177,17 +184,18 @@ public class ElasticSearchIndexerTest { testee.deleteAllMatchingQuery(termQuery("property", "1")).get(); elasticSearch.awaitForElasticSearch(); - try (Client client = getESClient()) { - SearchResponse searchResponse = client.prepareSearch(INDEX_NAME.getValue()) - .setTypes(TYPE_NAME.getValue()) - .setQuery(QueryBuilders.matchAllQuery()) - .get(); + try (RestHighLevelClient client = getESClient()) { + SearchResponse searchResponse = client.search( + new SearchRequest(INDEX_NAME.getValue()) + .types(TYPE_NAME.getValue()) + .source(new SearchSourceBuilder().query(QueryBuilders.matchAllQuery())), + RequestOptions.DEFAULT); assertThat(searchResponse.getHits().getTotalHits()).isEqualTo(1); } } @Test - public void deleteMessage() { + public void deleteMessage() throws Exception { String messageId = "1:2"; String content = "{\"message\": \"trying out Elasticsearch\"}"; @@ -197,17 +205,18 @@ public class ElasticSearchIndexerTest { testee.delete(ImmutableList.of(messageId)); elasticSearch.awaitForElasticSearch(); - try (Client client = getESClient()) { - SearchResponse searchResponse = client.prepareSearch(INDEX_NAME.getValue()) - .setTypes(TYPE_NAME.getValue()) - .setQuery(QueryBuilders.matchAllQuery()) - .get(); + try (RestHighLevelClient client = getESClient()) { + SearchResponse searchResponse = client.search( + new SearchRequest(INDEX_NAME.getValue()) + .types(TYPE_NAME.getValue()) + .source(new SearchSourceBuilder().query(QueryBuilders.matchAllQuery())), + RequestOptions.DEFAULT); assertThat(searchResponse.getHits().getTotalHits()).isEqualTo(0); } } @Test - public void deleteShouldWorkWhenMultipleMessages() { + public void deleteShouldWorkWhenMultipleMessages() throws Exception { String messageId = "1:1"; String content = "{\"message\": \"trying out Elasticsearch\", \"mailboxId\":\"1\"}"; @@ -227,22 +236,23 @@ public class ElasticSearchIndexerTest { testee.delete(ImmutableList.of(messageId, messageId3)); elasticSearch.awaitForElasticSearch(); - try (Client client = getESClient()) { - SearchResponse searchResponse = client.prepareSearch(INDEX_NAME.getValue()) - .setTypes(TYPE_NAME.getValue()) - .setQuery(QueryBuilders.matchAllQuery()) - .get(); + try (RestHighLevelClient client = getESClient()) { + SearchResponse searchResponse = client.search( + new SearchRequest(INDEX_NAME.getValue()) + .types(TYPE_NAME.getValue()) + .source(new SearchSourceBuilder().query(QueryBuilders.matchAllQuery())), + RequestOptions.DEFAULT); assertThat(searchResponse.getHits().getTotalHits()).isEqualTo(1); } } @Test - public void updateMessagesShouldNotThrowWhenEmptyList() { + public void updateMessagesShouldNotThrowWhenEmptyList() throws Exception { testee.update(ImmutableList.of()); } @Test - public void deleteMessagesShouldNotThrowWhenEmptyList() { + public void deleteMessagesShouldNotThrowWhenEmptyList() throws Exception { testee.delete(ImmutableList.of()); } } diff --git a/backends-common/elasticsearch-v6/src/test/java/org/apache/james/backends/es/v6/IndexCreationFactoryTest.java b/backends-common/elasticsearch-v6/src/test/java/org/apache/james/backends/es/v6/IndexCreationFactoryTest.java index a5417eb..4f1efd3 100644 --- a/backends-common/elasticsearch-v6/src/test/java/org/apache/james/backends/es/v6/IndexCreationFactoryTest.java +++ b/backends-common/elasticsearch-v6/src/test/java/org/apache/james/backends/es/v6/IndexCreationFactoryTest.java @@ -26,8 +26,8 @@ import org.junit.Rule; import org.junit.Test; public class IndexCreationFactoryTest { - public static final IndexName INDEX_NAME = new IndexName("index"); - public static final ReadAliasName ALIAS_NAME = new ReadAliasName("alias"); + private static final IndexName INDEX_NAME = new IndexName("index"); + private static final ReadAliasName ALIAS_NAME = new ReadAliasName("alias"); @Rule public DockerElasticSearchRule elasticSearch = new DockerElasticSearchRule(); diff --git a/backends-common/elasticsearch-v6/src/test/java/org/apache/james/backends/es/v6/NodeMappingFactoryTest.java b/backends-common/elasticsearch-v6/src/test/java/org/apache/james/backends/es/v6/NodeMappingFactoryTest.java index bcbefef..95207ff 100644 --- a/backends-common/elasticsearch-v6/src/test/java/org/apache/james/backends/es/v6/NodeMappingFactoryTest.java +++ b/backends-common/elasticsearch-v6/src/test/java/org/apache/james/backends/es/v6/NodeMappingFactoryTest.java @@ -19,18 +19,20 @@ package org.apache.james.backends.es.v6; +import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder; +import org.elasticsearch.ElasticsearchStatusException; import org.elasticsearch.common.xcontent.XContentBuilder; import org.junit.Before; import org.junit.Rule; import org.junit.Test; public class NodeMappingFactoryTest { - public static final String MESSAGE = "message"; - public static final IndexName INDEX_NAME = new IndexName("index"); - public static final ReadAliasName ALIAS_NAME = new ReadAliasName("alias"); - public static final TypeName TYPE_NAME = new TypeName("type"); + private static final String MESSAGE = "message"; + private static final IndexName INDEX_NAME = new IndexName("index"); + private static final ReadAliasName ALIAS_NAME = new ReadAliasName("alias"); + private static final TypeName TYPE_NAME = new TypeName("type"); @Rule public DockerElasticSearchRule elasticSearch = new DockerElasticSearchRule(); @@ -58,7 +60,7 @@ public class NodeMappingFactoryTest { } @Test - public void applyMappingShouldNotThrowWhenIndexerChanges() throws Exception { + public void applyMappingShouldThrowWhenTryingIndexerChanges() throws Exception { NodeMappingFactory.applyMapping(clientProvider.get(), INDEX_NAME, TYPE_NAME, @@ -66,20 +68,19 @@ public class NodeMappingFactoryTest { elasticSearch.awaitForElasticSearch(); - NodeMappingFactory.applyMapping(clientProvider.get(), + assertThatThrownBy(() ->NodeMappingFactory.applyMapping(clientProvider.get(), INDEX_NAME, TYPE_NAME, - getOtherMappingsSources()); + getOtherMappingsSources())) + .isInstanceOf(ElasticsearchStatusException.class); } private XContentBuilder getMappingsSources() throws Exception { return jsonBuilder() .startObject() - .startObject(TYPE_NAME.getValue()) - .startObject(NodeMappingFactory.PROPERTIES) - .startObject(MESSAGE) - .field(NodeMappingFactory.TYPE, NodeMappingFactory.STRING) - .endObject() + .startObject(NodeMappingFactory.PROPERTIES) + .startObject(MESSAGE) + .field(NodeMappingFactory.TYPE, NodeMappingFactory.TEXT) .endObject() .endObject() .endObject(); @@ -88,12 +89,10 @@ public class NodeMappingFactoryTest { private XContentBuilder getOtherMappingsSources() throws Exception { return jsonBuilder() .startObject() - .startObject(TYPE_NAME.getValue()) - .startObject(NodeMappingFactory.PROPERTIES) - .startObject(MESSAGE) - .field(NodeMappingFactory.TYPE, NodeMappingFactory.STRING) - .field(NodeMappingFactory.INDEX, NodeMappingFactory.NOT_ANALYZED) - .endObject() + .startObject(NodeMappingFactory.PROPERTIES) + .startObject(MESSAGE) + .field(NodeMappingFactory.TYPE, NodeMappingFactory.TEXT) + .field(NodeMappingFactory.INDEX, false) .endObject() .endObject() .endObject(); diff --git a/backends-common/elasticsearch-v6/src/test/java/org/apache/james/backends/es/v6/search/ScrollIterableTest.java b/backends-common/elasticsearch-v6/src/test/java/org/apache/james/backends/es/v6/search/ScrollIterableTest.java deleted file mode 100644 index 4810975..0000000 --- a/backends-common/elasticsearch-v6/src/test/java/org/apache/james/backends/es/v6/search/ScrollIterableTest.java +++ /dev/null @@ -1,205 +0,0 @@ -/**************************************************************** - * 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.backends.es.v6.search; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.awaitility.Awaitility.await; -import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder; -import static org.elasticsearch.index.query.QueryBuilders.matchAllQuery; - -import java.io.IOException; -import java.util.Arrays; -import java.util.List; -import java.util.stream.Collectors; - -import org.apache.james.backends.es.v6.ClientProvider; -import org.apache.james.backends.es.v6.DockerElasticSearchRule; -import org.apache.james.backends.es.v6.ElasticSearchConfiguration; -import org.apache.james.backends.es.v6.IndexCreationFactory; -import org.apache.james.backends.es.v6.IndexName; -import org.apache.james.backends.es.v6.NodeMappingFactory; -import org.apache.james.backends.es.v6.ReadAliasName; -import org.apache.james.backends.es.v6.TypeName; -import org.awaitility.Duration; -import org.awaitility.core.ConditionFactory; -import org.elasticsearch.action.search.SearchRequestBuilder; -import org.elasticsearch.client.Client; -import org.elasticsearch.common.unit.TimeValue; -import org.elasticsearch.common.xcontent.XContentBuilder; -import org.elasticsearch.index.query.QueryBuilders; -import org.elasticsearch.search.SearchHit; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - -public class ScrollIterableTest { - - private static final TimeValue TIMEOUT = new TimeValue(6000); - private static final int SIZE = 2; - private static final String MESSAGE = "message"; - private static final IndexName INDEX_NAME = new IndexName("index"); - private static final ReadAliasName ALIAS_NAME = new ReadAliasName("alias"); - private static final TypeName TYPE_NAME = new TypeName("messages"); - - private static final ConditionFactory WAIT_CONDITION = await().timeout(Duration.FIVE_SECONDS); - - @Rule - public DockerElasticSearchRule elasticSearch = new DockerElasticSearchRule(); - private ClientProvider clientProvider; - - @Before - public void setUp() throws Exception { - clientProvider = elasticSearch.clientProvider(); - new IndexCreationFactory(ElasticSearchConfiguration.DEFAULT_CONFIGURATION) - .useIndex(INDEX_NAME) - .addAlias(ALIAS_NAME) - .createIndexAndAliases(clientProvider.get()); - elasticSearch.awaitForElasticSearch(); - NodeMappingFactory.applyMapping(clientProvider.get(), INDEX_NAME, TYPE_NAME, getMappingsSources()); - } - - private XContentBuilder getMappingsSources() throws IOException { - return jsonBuilder() - .startObject() - .startObject(TYPE_NAME.getValue()) - .startObject(NodeMappingFactory.PROPERTIES) - .startObject(MESSAGE) - .field(NodeMappingFactory.TYPE, NodeMappingFactory.STRING) - .endObject() - .endObject() - .endObject() - .endObject(); - } - - @Test - public void scrollIterableShouldWorkWhenEmpty() { - try (Client client = clientProvider.get()) { - SearchRequestBuilder searchRequestBuilder = client.prepareSearch(INDEX_NAME.getValue()) - .setTypes(TYPE_NAME.getValue()) - .setScroll(TIMEOUT) - .setQuery(matchAllQuery()) - .setSize(SIZE); - - assertThat(new ScrollIterable(client, searchRequestBuilder)) - .isEmpty(); - } - } - - @Test - public void scrollIterableShouldWorkWhenOneElement() { - try (Client client = clientProvider.get()) { - String id = "1"; - client.prepareIndex(INDEX_NAME.getValue(), TYPE_NAME.getValue(), id) - .setSource(MESSAGE, "Sample message") - .execute(); - - elasticSearch.awaitForElasticSearch(); - WAIT_CONDITION.untilAsserted(() -> hasIdsInIndex(client, id)); - - SearchRequestBuilder searchRequestBuilder = client.prepareSearch(INDEX_NAME.getValue()) - .setTypes(TYPE_NAME.getValue()) - .setScroll(TIMEOUT) - .setQuery(matchAllQuery()) - .setSize(SIZE); - - assertThat(convertToIdList(new ScrollIterable(client, searchRequestBuilder))) - .containsOnly(id); - } - } - - @Test - public void scrollIterableShouldWorkWhenSizeElement() { - try (Client client = clientProvider.get()) { - String id1 = "1"; - client.prepareIndex(INDEX_NAME.getValue(), TYPE_NAME.getValue(), id1) - .setSource(MESSAGE, "Sample message") - .execute(); - - String id2 = "2"; - client.prepareIndex(INDEX_NAME.getValue(), TYPE_NAME.getValue(), id2) - .setSource(MESSAGE, "Sample message") - .execute(); - - elasticSearch.awaitForElasticSearch(); - WAIT_CONDITION.untilAsserted(() -> hasIdsInIndex(client, id1, id2)); - - SearchRequestBuilder searchRequestBuilder = client.prepareSearch(INDEX_NAME.getValue()) - .setTypes(TYPE_NAME.getValue()) - .setScroll(TIMEOUT) - .setQuery(matchAllQuery()) - .setSize(SIZE); - - assertThat(convertToIdList(new ScrollIterable(client, searchRequestBuilder))) - .containsOnly(id1, id2); - } - } - - @Test - public void scrollIterableShouldWorkWhenMoreThanSizeElement() { - try (Client client = clientProvider.get()) { - String id1 = "1"; - client.prepareIndex(INDEX_NAME.getValue(), TYPE_NAME.getValue(), id1) - .setSource(MESSAGE, "Sample message") - .execute(); - - String id2 = "2"; - client.prepareIndex(INDEX_NAME.getValue(), TYPE_NAME.getValue(), id2) - .setSource(MESSAGE, "Sample message") - .execute(); - - String id3 = "3"; - client.prepareIndex(INDEX_NAME.getValue(), TYPE_NAME.getValue(), id3) - .setSource(MESSAGE, "Sample message") - .execute(); - - elasticSearch.awaitForElasticSearch(); - WAIT_CONDITION.untilAsserted(() -> hasIdsInIndex(client, id1, id2, id3)); - - SearchRequestBuilder searchRequestBuilder = client.prepareSearch(INDEX_NAME.getValue()) - .setTypes(TYPE_NAME.getValue()) - .setScroll(TIMEOUT) - .setQuery(matchAllQuery()) - .setSize(SIZE); - - assertThat(convertToIdList(new ScrollIterable(client, searchRequestBuilder))) - .containsOnly(id1, id2, id3); - } - } - - private List<String> convertToIdList(ScrollIterable scrollIterable) { - return scrollIterable.stream() - .flatMap(searchResponse -> Arrays.stream(searchResponse.getHits().getHits())) - .map(SearchHit::getId) - .collect(Collectors.toList()); - } - - private void hasIdsInIndex(Client client, String... ids) { - SearchHit[] hits = client.prepareSearch(INDEX_NAME.getValue()) - .setQuery(QueryBuilders.idsQuery(TYPE_NAME.getValue()).addIds(ids)) - .execute() - .actionGet() - .getHits() - .hits(); - - assertThat(hits) - .extracting(SearchHit::getId) - .contains(ids); - } -} diff --git a/backends-common/elasticsearch-v6/src/test/java/org/apache/james/backends/es/v6/utils/TestingClientProvider.java b/backends-common/elasticsearch-v6/src/test/java/org/apache/james/backends/es/v6/utils/TestingClientProvider.java deleted file mode 100644 index 967b80e..0000000 --- a/backends-common/elasticsearch-v6/src/test/java/org/apache/james/backends/es/v6/utils/TestingClientProvider.java +++ /dev/null @@ -1,37 +0,0 @@ -/**************************************************************** - * 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.backends.es.v6.utils; - -import org.apache.james.backends.es.v6.ClientProvider; -import org.elasticsearch.client.Client; -import org.elasticsearch.node.Node; - -public class TestingClientProvider implements ClientProvider { - - private final Node node; - - public TestingClientProvider(Node node) { - this.node = node; - } - - @Override - public Client get() { - return node.client(); - } -} --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
