Skip to content

Commit afe5e62

Browse files
committed
Fix test
1 parent 5d013e3 commit afe5e62

File tree

1 file changed

+12
-13
lines changed

1 file changed

+12
-13
lines changed

server/src/internalClusterTest/java/org/elasticsearch/search/suggest/phrase/PhraseSuggesterIT.java

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,8 @@
99

1010
package org.elasticsearch.search.suggest.phrase;
1111

12-
import org.elasticsearch.ExceptionsHelper;
13-
import org.elasticsearch.action.search.SearchPhaseExecutionException;
1412
import org.elasticsearch.action.search.SearchRequestBuilder;
13+
import org.elasticsearch.action.search.ShardSearchFailure;
1514
import org.elasticsearch.common.settings.Settings;
1615
import org.elasticsearch.rest.RestStatus;
1716
import org.elasticsearch.search.suggest.SuggestBuilder;
@@ -24,7 +23,9 @@
2423
import static org.elasticsearch.search.suggest.SuggestBuilders.phraseSuggestion;
2524
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked;
2625
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertNoFailuresAndResponse;
26+
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertResponse;
2727
import static org.hamcrest.Matchers.equalTo;
28+
import static org.hamcrest.Matchers.greaterThan;
2829

2930
public class PhraseSuggesterIT extends ESIntegTestCase {
3031

@@ -48,17 +49,15 @@ public void testPhraseSuggestionWithNgramOnlyAnalyzerThrowsException() throws IO
4849
// 4. NoisyChannelSpellChecker.end() throws IllegalArgumentException
4950
SearchRequestBuilder searchBuilder = createSuggesterSearch("text.ngrams");
5051

51-
// This should throw SearchPhaseExecutionException wrapping IllegalArgumentException
52-
SearchPhaseExecutionException exception = expectThrows(SearchPhaseExecutionException.class, searchBuilder);
53-
assertNotNull(exception.getCause());
54-
assertThat(exception.status(), equalTo(RestStatus.BAD_REQUEST));
55-
Throwable rootCause = ExceptionsHelper.unwrap(exception, IllegalArgumentException.class);
56-
57-
assertTrue(
58-
"Expected IllegalArgumentException but got: " + rootCause.getClass().getSimpleName(),
59-
rootCause instanceof IllegalArgumentException
60-
);
61-
assertEquals("At least one unigram is required but all tokens were ngrams", rootCause.getMessage());
52+
assertResponse(searchBuilder, response -> {
53+
assertThat(response.status(), equalTo(RestStatus.OK));
54+
assertThat(response.getFailedShards(), greaterThan(0));
55+
assertThat(response.getShardFailures().length, greaterThan(0));
56+
for (ShardSearchFailure shardFailure : response.getShardFailures()) {
57+
assertTrue(shardFailure.getCause() instanceof IllegalArgumentException);
58+
assertEquals("At least one unigram is required but all tokens were ngrams", shardFailure.getCause().getMessage());
59+
}
60+
});
6261
}
6362

6463
private static SearchRequestBuilder createSuggesterSearch(String fieldName) {

0 commit comments

Comments
 (0)