Skip to content

Commit 53ff41c

Browse files
committed
Minor refactor for ES|QL qstr integration test (#116469)
1 parent cc825bf commit 53ff41c

File tree

2 files changed

+20
-16
lines changed

2 files changed

+20
-16
lines changed

x-pack/plugin/esql/src/internalClusterTest/java/org/elasticsearch/xpack/esql/action/AbstractEsqlIntegTestCase.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,15 @@
3232
import org.elasticsearch.xpack.esql.plugin.TransportEsqlQueryAction;
3333
import org.junit.After;
3434

35+
import java.util.ArrayList;
3536
import java.util.Collection;
3637
import java.util.Iterator;
3738
import java.util.List;
3839
import java.util.concurrent.TimeUnit;
3940

4041
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked;
4142
import static org.elasticsearch.xpack.esql.EsqlTestUtils.getValuesList;
43+
import static org.hamcrest.Matchers.containsInAnyOrder;
4244
import static org.hamcrest.Matchers.equalTo;
4345

4446
@TestLogging(value = "org.elasticsearch.xpack.esql.session:DEBUG", reason = "to better understand planning")
@@ -219,4 +221,16 @@ protected static void assertColumnTypes(List<? extends ColumnInfo> actualColumns
219221
protected static void assertValues(Iterator<Iterator<Object>> actualValues, Iterable<Iterable<Object>> expectedValues) {
220222
assertThat(getValuesList(actualValues), equalTo(getValuesList(expectedValues)));
221223
}
224+
225+
protected static void assertValuesInAnyOrder(Iterator<Iterator<Object>> actualValues, Iterable<Iterable<Object>> expectedValues) {
226+
List<List<Object>> items = new ArrayList<>();
227+
for (Iterable<Object> outter : expectedValues) {
228+
var item = new ArrayList<>();
229+
for (var inner : outter) {
230+
item.add(inner);
231+
}
232+
items.add(item);
233+
}
234+
assertThat(getValuesList(actualValues), containsInAnyOrder(items.toArray()));
235+
}
222236
}

x-pack/plugin/esql/src/internalClusterTest/java/org/elasticsearch/xpack/esql/plugin/QueryStringIT.java

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,12 @@
1313
import org.elasticsearch.index.query.QueryShardException;
1414
import org.elasticsearch.xpack.esql.VerificationException;
1515
import org.elasticsearch.xpack.esql.action.AbstractEsqlIntegTestCase;
16-
import org.elasticsearch.xpack.esql.action.ColumnInfoImpl;
17-
import org.elasticsearch.xpack.esql.core.type.DataType;
1816
import org.junit.Before;
1917

2018
import java.util.List;
2119

22-
import static org.elasticsearch.test.ListMatcher.matchesList;
23-
import static org.elasticsearch.test.MapMatcher.assertMap;
2420
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked;
25-
import static org.elasticsearch.xpack.esql.EsqlTestUtils.getValuesList;
2621
import static org.hamcrest.CoreMatchers.containsString;
27-
import static org.hamcrest.Matchers.equalTo;
2822

2923
public class QueryStringIT extends AbstractEsqlIntegTestCase {
3024

@@ -42,11 +36,9 @@ public void testSimpleQueryString() {
4236
""";
4337

4438
try (var resp = run(query)) {
45-
assertThat(resp.columns().stream().map(ColumnInfoImpl::name).toList(), equalTo(List.of("id")));
46-
assertThat(resp.columns().stream().map(ColumnInfoImpl::type).map(DataType::toString).toList(), equalTo(List.of("INTEGER")));
47-
// values
48-
List<List<Object>> values = getValuesList(resp);
49-
assertMap(values, matchesList().item(List.of(1)).item(List.of(3)).item(List.of(4)).item(List.of(5)));
39+
assertColumnNames(resp.columns(), List.of("id"));
40+
assertColumnTypes(resp.columns(), List.of("integer"));
41+
assertValues(resp.values(), List.of(List.of(1), List.of(3), List.of(4), List.of(5)));
5042
}
5143
}
5244

@@ -58,11 +50,9 @@ public void testMultiFieldQueryString() {
5850
""";
5951

6052
try (var resp = run(query)) {
61-
assertThat(resp.columns().stream().map(ColumnInfoImpl::name).toList(), equalTo(List.of("id")));
62-
assertThat(resp.columns().stream().map(ColumnInfoImpl::type).map(DataType::toString).toList(), equalTo(List.of("INTEGER")));
63-
// values
64-
List<List<Object>> values = getValuesList(resp);
65-
assertThat(values.size(), equalTo(5));
53+
assertColumnNames(resp.columns(), List.of("id"));
54+
assertColumnTypes(resp.columns(), List.of("integer"));
55+
assertValuesInAnyOrder(resp.values(), List.of(List.of(1), List.of(2), List.of(3), List.of(4), List.of(5)));
6656
}
6757
}
6858

0 commit comments

Comments
 (0)