From 4f131dfffbdadf5c5f9c9b7a03f9660233e04f72 Mon Sep 17 00:00:00 2001 From: Simon Willnauer Date: Thu, 10 Jul 2014 18:01:03 +0200 Subject: [PATCH] [TEST] Fold SuggestActionTest into SuggestSearchTests Instead of running the tests twice this commit just randomizes the API that we use to return the suggestions. --- .../action/suggest/SuggestActionTests.java | 55 ------------------- .../search/suggest/SuggestSearchTests.java | 38 +++++++++---- 2 files changed, 28 insertions(+), 65 deletions(-) delete mode 100644 src/test/java/org/elasticsearch/action/suggest/SuggestActionTests.java diff --git a/src/test/java/org/elasticsearch/action/suggest/SuggestActionTests.java b/src/test/java/org/elasticsearch/action/suggest/SuggestActionTests.java deleted file mode 100644 index cfc81e7e942..00000000000 --- a/src/test/java/org/elasticsearch/action/suggest/SuggestActionTests.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Licensed to Elasticsearch under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch 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.elasticsearch.action.suggest; - -import org.elasticsearch.action.search.SearchPhaseExecutionException; -import org.elasticsearch.action.search.ShardSearchFailure; -import org.elasticsearch.client.Client; -import org.elasticsearch.search.suggest.Suggest; -import org.elasticsearch.search.suggest.SuggestBuilder.SuggestionBuilder; -import org.elasticsearch.search.suggest.SuggestSearchTests; - -import java.util.Arrays; - -import static org.hamcrest.Matchers.equalTo; - -/** - */ -public class SuggestActionTests extends SuggestSearchTests { - - protected Suggest searchSuggest(Client client, String suggestText, int expectShardsFailed, SuggestionBuilder... suggestions) { - SuggestRequestBuilder builder = client.prepareSuggest(); - - if (suggestText != null) { - builder.setSuggestText(suggestText); - } - for (SuggestionBuilder suggestion : suggestions) { - builder.addSuggestion(suggestion); - } - - SuggestResponse actionGet = builder.execute().actionGet(); - assertThat(Arrays.toString(actionGet.getShardFailures()), actionGet.getFailedShards(), equalTo(expectShardsFailed)); - if (expectShardsFailed > 0) { - throw new SearchPhaseExecutionException("suggest", "Suggest execution failed", new ShardSearchFailure[0]); - } - return actionGet.getSuggest(); - - } -} diff --git a/src/test/java/org/elasticsearch/search/suggest/SuggestSearchTests.java b/src/test/java/org/elasticsearch/search/suggest/SuggestSearchTests.java index 5c73c3fe827..5bc44765145 100644 --- a/src/test/java/org/elasticsearch/search/suggest/SuggestSearchTests.java +++ b/src/test/java/org/elasticsearch/search/suggest/SuggestSearchTests.java @@ -23,13 +23,14 @@ import com.carrotsearch.randomizedtesting.annotations.Nightly; import com.google.common.base.Charsets; import com.google.common.collect.ImmutableList; import com.google.common.io.Resources; -import org.apache.lucene.util.LuceneTestCase; import org.apache.lucene.util.LuceneTestCase.Slow; import org.elasticsearch.ElasticsearchException; import org.elasticsearch.ElasticsearchIllegalStateException; import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder; import org.elasticsearch.action.index.IndexRequestBuilder; import org.elasticsearch.action.search.*; +import org.elasticsearch.action.suggest.SuggestRequestBuilder; +import org.elasticsearch.action.suggest.SuggestResponse; import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.common.xcontent.XContentFactory; import org.elasticsearch.search.suggest.SuggestBuilder.SuggestionBuilder; @@ -1103,15 +1104,32 @@ public class SuggestSearchTests extends ElasticsearchIntegrationTest { } protected Suggest searchSuggest(String suggestText, int expectShardsFailed, SuggestionBuilder... suggestions) { - SearchRequestBuilder builder = client().prepareSearch().setSearchType(SearchType.COUNT); - if (suggestText != null) { - builder.setSuggestText(suggestText); + if (randomBoolean()) { + SearchRequestBuilder builder = client().prepareSearch().setSearchType(SearchType.COUNT); + if (suggestText != null) { + builder.setSuggestText(suggestText); + } + for (SuggestionBuilder suggestion : suggestions) { + builder.addSuggestion(suggestion); + } + SearchResponse actionGet = builder.execute().actionGet(); + assertThat(Arrays.toString(actionGet.getShardFailures()), actionGet.getFailedShards(), equalTo(expectShardsFailed)); + return actionGet.getSuggest(); + } else { + SuggestRequestBuilder builder = client().prepareSuggest(); + if (suggestText != null) { + builder.setSuggestText(suggestText); + } + for (SuggestionBuilder suggestion : suggestions) { + builder.addSuggestion(suggestion); + } + + SuggestResponse actionGet = builder.execute().actionGet(); + assertThat(Arrays.toString(actionGet.getShardFailures()), actionGet.getFailedShards(), equalTo(expectShardsFailed)); + if (expectShardsFailed > 0) { + throw new SearchPhaseExecutionException("suggest", "Suggest execution failed", new ShardSearchFailure[0]); + } + return actionGet.getSuggest(); } - for (SuggestionBuilder suggestion : suggestions) { - builder.addSuggestion(suggestion); - } - SearchResponse actionGet = builder.execute().actionGet(); - assertThat(Arrays.toString(actionGet.getShardFailures()), actionGet.getFailedShards(), equalTo(expectShardsFailed)); - return actionGet.getSuggest(); } }