From cd7bae2f140490477eddb726cc3e43e4bf9066ac Mon Sep 17 00:00:00 2001 From: Armin Braun Date: Fri, 10 Nov 2023 09:30:02 +0100 Subject: [PATCH] Remove explicit search responses from IndexAliasIT Just like the other ones. --- .../elasticsearch/aliases/IndexAliasesIT.java | 302 ++++++++++-------- 1 file changed, 170 insertions(+), 132 deletions(-) diff --git a/server/src/internalClusterTest/java/org/elasticsearch/aliases/IndexAliasesIT.java b/server/src/internalClusterTest/java/org/elasticsearch/aliases/IndexAliasesIT.java index c1ca4c60f176e..2074e38f891c0 100644 --- a/server/src/internalClusterTest/java/org/elasticsearch/aliases/IndexAliasesIT.java +++ b/server/src/internalClusterTest/java/org/elasticsearch/aliases/IndexAliasesIT.java @@ -17,7 +17,6 @@ import org.elasticsearch.action.delete.DeleteRequest; import org.elasticsearch.action.delete.DeleteResponse; import org.elasticsearch.action.index.IndexRequest; -import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.action.support.IndicesOptions; import org.elasticsearch.action.support.WriteRequest.RefreshPolicy; import org.elasticsearch.action.support.master.AcknowledgedResponse; @@ -64,7 +63,8 @@ import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertBlocked; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertHitCount; -import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertNoFailures; +import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertNoFailuresAndResponse; +import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertResponse; import static org.hamcrest.Matchers.containsInAnyOrder; import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.emptyArray; @@ -269,66 +269,89 @@ public void testSearchingFilteringAliasesSingleIndex() throws Exception { ).actionGet(); logger.info("--> checking single filtering alias search"); - SearchResponse searchResponse = prepareSearch("foos").setQuery(QueryBuilders.matchAllQuery()).get(); - assertHits(searchResponse.getHits(), "1"); + assertResponse( + prepareSearch("foos").setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertHits(searchResponse.getHits(), "1") + ); logger.info("--> checking single filtering alias wildcard search"); - searchResponse = prepareSearch("fo*").setQuery(QueryBuilders.matchAllQuery()).get(); - assertHits(searchResponse.getHits(), "1"); + assertResponse( + prepareSearch("fo*").setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertHits(searchResponse.getHits(), "1") + ); - searchResponse = prepareSearch("tests").setQuery(QueryBuilders.matchAllQuery()).get(); - assertHits(searchResponse.getHits(), "1", "2", "3"); + assertResponse( + prepareSearch("tests").setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertHits(searchResponse.getHits(), "1", "2", "3") + ); logger.info("--> checking single filtering alias search with sort"); - searchResponse = prepareSearch("tests").setQuery(QueryBuilders.matchAllQuery()).addSort("_index", SortOrder.ASC).get(); - assertHits(searchResponse.getHits(), "1", "2", "3"); + assertResponse( + prepareSearch("tests").setQuery(QueryBuilders.matchAllQuery()).addSort("_index", SortOrder.ASC), + searchResponse -> assertHits(searchResponse.getHits(), "1", "2", "3") + ); logger.info("--> checking single filtering alias search with global facets"); - searchResponse = prepareSearch("tests").setQuery(QueryBuilders.matchQuery("name", "bar")) - .addAggregation(AggregationBuilders.global("global").subAggregation(AggregationBuilders.terms("test").field("name"))) - .get(); - assertNoFailures(searchResponse); - Global global = searchResponse.getAggregations().get("global"); - Terms terms = global.getAggregations().get("test"); - assertThat(terms.getBuckets().size(), equalTo(4)); + assertNoFailuresAndResponse( + prepareSearch("tests").setQuery(QueryBuilders.matchQuery("name", "bar")) + .addAggregation(AggregationBuilders.global("global").subAggregation(AggregationBuilders.terms("test").field("name"))), + searchResponse -> { + Global global = searchResponse.getAggregations().get("global"); + Terms terms = global.getAggregations().get("test"); + assertThat(terms.getBuckets().size(), equalTo(4)); + } + ); logger.info("--> checking single filtering alias search with global facets and sort"); - searchResponse = prepareSearch("tests").setQuery(QueryBuilders.matchQuery("name", "bar")) - .addAggregation(AggregationBuilders.global("global").subAggregation(AggregationBuilders.terms("test").field("name"))) - .addSort("_index", SortOrder.ASC) - .get(); - assertNoFailures(searchResponse); - global = searchResponse.getAggregations().get("global"); - terms = global.getAggregations().get("test"); - assertThat(terms.getBuckets().size(), equalTo(4)); + assertNoFailuresAndResponse( + prepareSearch("tests").setQuery(QueryBuilders.matchQuery("name", "bar")) + .addAggregation(AggregationBuilders.global("global").subAggregation(AggregationBuilders.terms("test").field("name"))) + .addSort("_index", SortOrder.ASC), + searchResponse -> { + Global global = searchResponse.getAggregations().get("global"); + Terms terms = global.getAggregations().get("test"); + assertThat(terms.getBuckets().size(), equalTo(4)); + } + ); logger.info("--> checking single filtering alias search with non-global facets"); - searchResponse = prepareSearch("tests").setQuery(QueryBuilders.matchQuery("name", "bar")) - .addAggregation(AggregationBuilders.terms("test").field("name")) - .addSort("_index", SortOrder.ASC) - .get(); - assertNoFailures(searchResponse); - terms = searchResponse.getAggregations().get("test"); - assertThat(terms.getBuckets().size(), equalTo(2)); - - searchResponse = prepareSearch("foos", "bars").setQuery(QueryBuilders.matchAllQuery()).get(); - assertHits(searchResponse.getHits(), "1", "2"); + assertNoFailuresAndResponse( + prepareSearch("tests").setQuery(QueryBuilders.matchQuery("name", "bar")) + .addAggregation(AggregationBuilders.terms("test").field("name")) + .addSort("_index", SortOrder.ASC), + searchResponse -> { + Terms terms = searchResponse.getAggregations().get("test"); + assertThat(terms.getBuckets().size(), equalTo(2)); + } + ); + assertResponse( + prepareSearch("foos", "bars").setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertHits(searchResponse.getHits(), "1", "2") + ); logger.info("--> checking single non-filtering alias search"); - searchResponse = prepareSearch("alias1").setQuery(QueryBuilders.matchAllQuery()).get(); - assertHits(searchResponse.getHits(), "1", "2", "3", "4"); + assertResponse( + prepareSearch("alias1").setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertHits(searchResponse.getHits(), "1", "2", "3", "4") + ); logger.info("--> checking non-filtering alias and filtering alias search"); - searchResponse = prepareSearch("alias1", "foos").setQuery(QueryBuilders.matchAllQuery()).get(); - assertHits(searchResponse.getHits(), "1", "2", "3", "4"); + assertResponse( + prepareSearch("alias1", "foos").setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertHits(searchResponse.getHits(), "1", "2", "3", "4") + ); logger.info("--> checking index and filtering alias search"); - searchResponse = prepareSearch("test", "foos").setQuery(QueryBuilders.matchAllQuery()).get(); - assertHits(searchResponse.getHits(), "1", "2", "3", "4"); + assertResponse( + prepareSearch("test", "foos").setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertHits(searchResponse.getHits(), "1", "2", "3", "4") + ); logger.info("--> checking index and alias wildcard search"); - searchResponse = prepareSearch("te*", "fo*").setQuery(QueryBuilders.matchAllQuery()).get(); - assertHits(searchResponse.getHits(), "1", "2", "3", "4"); + assertResponse( + prepareSearch("te*", "fo*").setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertHits(searchResponse.getHits(), "1", "2", "3", "4") + ); } public void testSearchingFilteringAliasesTwoIndices() throws Exception { @@ -373,55 +396,63 @@ public void testSearchingFilteringAliasesTwoIndices() throws Exception { refresh(); logger.info("--> checking filtering alias for two indices"); - SearchResponse searchResponse = prepareSearch("foos").setQuery(QueryBuilders.matchAllQuery()).get(); - assertHits(searchResponse.getHits(), "1", "5"); - assertThat( - prepareSearch("foos").setSize(0).setQuery(QueryBuilders.matchAllQuery()).get().getHits().getTotalHits().value, - equalTo(2L) + assertResponse( + prepareSearch("foos").setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertHits(searchResponse.getHits(), "1", "5") + ); + assertResponse( + prepareSearch("foos").setSize(0).setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertThat(searchResponse.getHits().getTotalHits().value, equalTo(2L)) ); logger.info("--> checking filtering alias for one index"); - searchResponse = prepareSearch("bars").setQuery(QueryBuilders.matchAllQuery()).get(); - assertHits(searchResponse.getHits(), "2"); - assertThat( - prepareSearch("bars").setSize(0).setQuery(QueryBuilders.matchAllQuery()).get().getHits().getTotalHits().value, - equalTo(1L) + assertResponse( + prepareSearch("bars").setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertHits(searchResponse.getHits(), "2") + ); + assertResponse( + prepareSearch("bars").setSize(0).setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertThat(searchResponse.getHits().getTotalHits().value, equalTo(1L)) ); logger.info("--> checking filtering alias for two indices and one complete index"); - searchResponse = prepareSearch("foos", "test1").setQuery(QueryBuilders.matchAllQuery()).get(); - assertHits(searchResponse.getHits(), "1", "2", "3", "4", "5"); - assertThat( - prepareSearch("foos", "test1").setSize(0).setQuery(QueryBuilders.matchAllQuery()).get().getHits().getTotalHits().value, - equalTo(5L) + assertResponse( + prepareSearch("foos", "test1").setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertHits(searchResponse.getHits(), "1", "2", "3", "4", "5") + ); + assertResponse( + prepareSearch("foos", "test1").setSize(0).setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertThat(searchResponse.getHits().getTotalHits().value, equalTo(5L)) ); logger.info("--> checking filtering alias for two indices and non-filtering alias for one index"); - searchResponse = prepareSearch("foos", "aliasToTest1").setQuery(QueryBuilders.matchAllQuery()).get(); - assertHits(searchResponse.getHits(), "1", "2", "3", "4", "5"); - assertThat( - prepareSearch("foos", "aliasToTest1").setSize(0).setQuery(QueryBuilders.matchAllQuery()).get().getHits().getTotalHits().value, - equalTo(5L) + assertResponse( + prepareSearch("foos", "aliasToTest1").setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertHits(searchResponse.getHits(), "1", "2", "3", "4", "5") + ); + assertResponse( + prepareSearch("foos", "aliasToTest1").setSize(0).setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertThat(searchResponse.getHits().getTotalHits().value, equalTo(5L)) ); logger.info("--> checking filtering alias for two indices and non-filtering alias for both indices"); - searchResponse = prepareSearch("foos", "aliasToTests").setQuery(QueryBuilders.matchAllQuery()).get(); - assertThat(searchResponse.getHits().getTotalHits().value, equalTo(8L)); - assertThat( - prepareSearch("foos", "aliasToTests").setSize(0).setQuery(QueryBuilders.matchAllQuery()).get().getHits().getTotalHits().value, - equalTo(8L) + assertResponse( + prepareSearch("foos", "aliasToTests").setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertThat(searchResponse.getHits().getTotalHits().value, equalTo(8L)) + ); + assertResponse( + prepareSearch("foos", "aliasToTests").setSize(0).setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertThat(searchResponse.getHits().getTotalHits().value, equalTo(8L)) ); logger.info("--> checking filtering alias for two indices and non-filtering alias for both indices"); - searchResponse = prepareSearch("foos", "aliasToTests").setQuery(QueryBuilders.termQuery("name", "something")).get(); - assertHits(searchResponse.getHits(), "4", "8"); - assertThat( - prepareSearch("foos", "aliasToTests").setSize(0) - .setQuery(QueryBuilders.termQuery("name", "something")) - .get() - .getHits() - .getTotalHits().value, - equalTo(2L) + assertResponse( + prepareSearch("foos", "aliasToTests").setQuery(QueryBuilders.termQuery("name", "something")), + searchResponse -> assertHits(searchResponse.getHits(), "4", "8") + ); + assertResponse( + prepareSearch("foos", "aliasToTests").setSize(0).setQuery(QueryBuilders.termQuery("name", "something")), + searchResponse -> assertThat(searchResponse.getHits().getTotalHits().value, equalTo(2L)) ); } @@ -477,58 +508,58 @@ public void testSearchingFilteringAliasesMultipleIndices() throws Exception { refresh(); logger.info("--> checking filtering alias for multiple indices"); - SearchResponse searchResponse = prepareSearch("filter23", "filter13").setQuery(QueryBuilders.matchAllQuery()).get(); - assertHits(searchResponse.getHits(), "21", "31", "13", "33"); - assertThat( - prepareSearch("filter23", "filter13").setSize(0).setQuery(QueryBuilders.matchAllQuery()).get().getHits().getTotalHits().value, - equalTo(4L) + assertResponse( + prepareSearch("filter23", "filter13").setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertHits(searchResponse.getHits(), "21", "31", "13", "33") + ); + assertResponse( + prepareSearch("filter23", "filter13").setSize(0).setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertThat(searchResponse.getHits().getTotalHits().value, equalTo(4L)) ); - searchResponse = prepareSearch("filter23", "filter1").setQuery(QueryBuilders.matchAllQuery()).get(); - assertHits(searchResponse.getHits(), "21", "31", "11", "12", "13"); - assertThat( - prepareSearch("filter23", "filter1").setSize(0).setQuery(QueryBuilders.matchAllQuery()).get().getHits().getTotalHits().value, - equalTo(5L) + assertResponse( + prepareSearch("filter23", "filter1").setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertHits(searchResponse.getHits(), "21", "31", "11", "12", "13") + ); + assertResponse( + prepareSearch("filter23", "filter1").setSize(0).setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertThat(searchResponse.getHits().getTotalHits().value, equalTo(5L)) ); - searchResponse = prepareSearch("filter13", "filter1").setQuery(QueryBuilders.matchAllQuery()).get(); - assertHits(searchResponse.getHits(), "11", "12", "13", "33"); - assertThat( - prepareSearch("filter13", "filter1").setSize(0).setQuery(QueryBuilders.matchAllQuery()).get().getHits().getTotalHits().value, - equalTo(4L) + assertResponse( + prepareSearch("filter13", "filter1").setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertHits(searchResponse.getHits(), "11", "12", "13", "33") + ); + assertResponse( + prepareSearch("filter13", "filter1").setSize(0).setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertThat(searchResponse.getHits().getTotalHits().value, equalTo(4L)) ); - searchResponse = prepareSearch("filter13", "filter1", "filter23").setQuery(QueryBuilders.matchAllQuery()).get(); - assertHits(searchResponse.getHits(), "11", "12", "13", "21", "31", "33"); - assertThat( - prepareSearch("filter13", "filter1", "filter23").setSize(0) - .setQuery(QueryBuilders.matchAllQuery()) - .get() - .getHits() - .getTotalHits().value, - equalTo(6L) + assertResponse( + prepareSearch("filter13", "filter1", "filter23").setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertHits(searchResponse.getHits(), "11", "12", "13", "21", "31", "33") + ); + assertResponse( + prepareSearch("filter13", "filter1", "filter23").setSize(0).setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertThat(searchResponse.getHits().getTotalHits().value, equalTo(6L)) ); - searchResponse = prepareSearch("filter23", "filter13", "test2").setQuery(QueryBuilders.matchAllQuery()).get(); - assertHits(searchResponse.getHits(), "21", "22", "23", "31", "13", "33"); - assertThat( - prepareSearch("filter23", "filter13", "test2").setSize(0) - .setQuery(QueryBuilders.matchAllQuery()) - .get() - .getHits() - .getTotalHits().value, - equalTo(6L) + assertResponse( + prepareSearch("filter23", "filter13", "test2").setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertHits(searchResponse.getHits(), "21", "22", "23", "31", "13", "33") + ); + assertResponse( + prepareSearch("filter23", "filter13", "test2").setSize(0).setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertThat(searchResponse.getHits().getTotalHits().value, equalTo(6L)) ); - searchResponse = prepareSearch("filter23", "filter13", "test1", "test2").setQuery(QueryBuilders.matchAllQuery()).get(); - assertHits(searchResponse.getHits(), "11", "12", "13", "21", "22", "23", "31", "33"); - assertThat( - prepareSearch("filter23", "filter13", "test1", "test2").setSize(0) - .setQuery(QueryBuilders.matchAllQuery()) - .get() - .getHits() - .getTotalHits().value, - equalTo(8L) + assertResponse( + prepareSearch("filter23", "filter13", "test1", "test2").setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertHits(searchResponse.getHits(), "11", "12", "13", "21", "22", "23", "31", "33") + ); + assertResponse( + prepareSearch("filter23", "filter13", "test1", "test2").setSize(0).setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertThat(searchResponse.getHits().getTotalHits().value, equalTo(8L)) ); } @@ -581,9 +612,9 @@ public void testDeletingByQueryFilteringAliases() throws Exception { refresh(); logger.info("--> checking counts before delete"); - assertThat( - prepareSearch("bars").setSize(0).setQuery(QueryBuilders.matchAllQuery()).get().getHits().getTotalHits().value, - equalTo(1L) + assertResponse( + prepareSearch("bars").setSize(0).setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertThat(searchResponse.getHits().getTotalHits().value, equalTo(1L)) ); } @@ -1299,22 +1330,29 @@ public void testIndexingAndQueryingHiddenAliases() throws Exception { refresh(writeIndex, nonWriteIndex); // Make sure that the doc written to the alias made it - SearchResponse searchResponse = prepareSearch(writeIndex).setQuery(QueryBuilders.matchAllQuery()).get(); - assertHits(searchResponse.getHits(), "2", "3"); + assertResponse( + prepareSearch(writeIndex).setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertHits(searchResponse.getHits(), "2", "3") + ); // Ensure that all docs can be gotten through the alias - searchResponse = prepareSearch(alias).setQuery(QueryBuilders.matchAllQuery()).get(); - assertHits(searchResponse.getHits(), "1", "2", "3"); + assertResponse( + prepareSearch(alias).setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertHits(searchResponse.getHits(), "1", "2", "3") + ); // And querying using a wildcard with indices options set to expand hidden - searchResponse = prepareSearch("alias*").setQuery(QueryBuilders.matchAllQuery()) - .setIndicesOptions(IndicesOptions.fromOptions(false, false, true, false, true, true, true, false, false)) - .get(); - assertHits(searchResponse.getHits(), "1", "2", "3"); + assertResponse( + prepareSearch("alias*").setQuery(QueryBuilders.matchAllQuery()) + .setIndicesOptions(IndicesOptions.fromOptions(false, false, true, false, true, true, true, false, false)), + searchResponse -> assertHits(searchResponse.getHits(), "1", "2", "3") + ); // And that querying the alias with a wildcard and no expand options fails - searchResponse = prepareSearch("alias*").setQuery(QueryBuilders.matchAllQuery()).get(); - assertThat(searchResponse.getHits().getHits(), emptyArray()); + assertResponse( + prepareSearch("alias*").setQuery(QueryBuilders.matchAllQuery()), + searchResponse -> assertThat(searchResponse.getHits().getHits(), emptyArray()) + ); } public void testCreateIndexAndAliasWithSameNameFails() {