Skip to content

Commit 7a267ee

Browse files
authored
ESQL: Function tests standardization (#119506)
Made a quick review of the ESQL function tests, using `parameterSuppliersFromTypedDataWithDefaultChecks` when possible, and documenting a bit if not. Some tests didn't have the error checks for types/nulls, so it added them. Some functions couldn't be updated, and found some bugs and 500s in the process, which will be fixed in separate PR(s).
1 parent 3e12016 commit 7a267ee

34 files changed

+160
-187
lines changed

x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/expression/function/AbstractScalarFunctionTestCase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,7 @@ protected static TestCaseSupplier arithmeticExceptionOverflowCase(
421421
String typeNameOverflow = dataType.typeName().toLowerCase(Locale.ROOT) + " overflow";
422422
return new TestCaseSupplier(
423423
"<" + typeNameOverflow + ">",
424-
List.of(dataType),
424+
List.of(dataType, dataType),
425425
() -> new TestCaseSupplier.TestCase(
426426
List.of(
427427
new TestCaseSupplier.TypedData(lhsSupplier.get(), dataType, "lhs"),

x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/expression/function/scalar/convert/ToDatePeriodTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public static Iterable<Object[]> parameters() {
7171
}));
7272
}
7373
}
74-
return parameterSuppliersFromTypedData(anyNullIsNull(true, suppliers));
74+
return parameterSuppliersFromTypedDataWithDefaultChecksNoErrors(true, suppliers);
7575
}
7676

7777
@Override

x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/expression/function/scalar/convert/ToTimeDurationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public static Iterable<Object[]> parameters() {
7070
}));
7171
}
7272
}
73-
return parameterSuppliersFromTypedData(anyNullIsNull(true, suppliers));
73+
return parameterSuppliersFromTypedDataWithDefaultChecksNoErrors(true, suppliers);
7474
}
7575

7676
@Override

x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/expression/function/scalar/date/DateDiffTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ public static Iterable<Object[]> parameters() {
9999
equalTo(0)
100100
);
101101
}));
102-
return parameterSuppliersFromTypedData(anyNullIsNull(false, suppliers));
102+
return parameterSuppliersFromTypedDataWithDefaultChecksNoErrors(true, suppliers);
103103
}
104104

105105
public void testDateDiffFunction() {

x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/expression/function/scalar/date/NowTests.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ public NowTests(@Name("TestCase") Supplier<TestCaseSupplier.TestCase> testCaseSu
3232

3333
@ParametersFactory
3434
public static Iterable<Object[]> parameters() {
35-
return parameterSuppliersFromTypedData(
35+
return parameterSuppliersFromTypedDataWithDefaultChecks(
36+
true,
3637
List.of(
3738
new TestCaseSupplier(
3839
"Now Test",
@@ -44,7 +45,8 @@ public static Iterable<Object[]> parameters() {
4445
equalTo(EsqlTestUtils.TEST_CFG.now().toInstant().toEpochMilli())
4546
)
4647
)
47-
)
48+
),
49+
(valid, position) -> ""
4850
);
4951
}
5052

x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/expression/function/scalar/math/AcosTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public static Iterable<Object[]> parameters() {
5656
)
5757
)
5858
);
59-
return parameterSuppliersFromTypedData(errorsForCasesWithoutExamples(suppliers, (v, p) -> "numeric"));
59+
return parameterSuppliersFromTypedDataWithDefaultChecks(true, suppliers, (v, p) -> "numeric");
6060
}
6161

6262
@Override

x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/expression/function/scalar/math/AsinTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public static Iterable<Object[]> parameters() {
5656
)
5757
)
5858
);
59-
return parameterSuppliersFromTypedData(errorsForCasesWithoutExamples(suppliers, (v, p) -> "numeric"));
59+
return parameterSuppliersFromTypedDataWithDefaultChecks(true, suppliers, (v, p) -> "numeric");
6060
}
6161

6262
@Override

x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/expression/function/scalar/math/CbrtTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ public static Iterable<Object[]> parameters() {
7272
);
7373
suppliers = anyNullIsNull(true, suppliers);
7474

75-
return parameterSuppliersFromTypedData(errorsForCasesWithoutExamples(suppliers, (v, p) -> "numeric"));
75+
return parameterSuppliersFromTypedDataWithDefaultChecks(true, suppliers, (v, p) -> "numeric");
7676
}
7777

7878
@Override

x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/expression/function/scalar/math/ETests.java

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,22 @@ public ETests(@Name("TestCase") Supplier<TestCaseSupplier.TestCase> testCaseSupp
2929

3030
@ParametersFactory
3131
public static Iterable<Object[]> parameters() {
32-
return parameterSuppliersFromTypedData(List.of(new TestCaseSupplier("E Test", List.of(DataType.INTEGER), () -> {
33-
return new TestCaseSupplier.TestCase(
34-
List.of(new TestCaseSupplier.TypedData(1, DataType.INTEGER, "foo")),
35-
"LiteralsEvaluator[lit=2.718281828459045]",
36-
DataType.DOUBLE,
37-
equalTo(Math.E)
38-
);
39-
})));
32+
return parameterSuppliersFromTypedDataWithDefaultChecks(
33+
true,
34+
List.of(
35+
new TestCaseSupplier(
36+
"E Test",
37+
List.of(),
38+
() -> new TestCaseSupplier.TestCase(
39+
List.of(),
40+
"LiteralsEvaluator[lit=2.718281828459045]",
41+
DataType.DOUBLE,
42+
equalTo(Math.E)
43+
)
44+
)
45+
),
46+
(v, p) -> ""
47+
);
4048
}
4149

4250
@Override

x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/expression/function/scalar/math/ExpTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ public static Iterable<Object[]> parameters() {
7575

7676
suppliers = anyNullIsNull(true, suppliers);
7777

78-
return parameterSuppliersFromTypedData(errorsForCasesWithoutExamples(suppliers, (v, p) -> "numeric"));
78+
return parameterSuppliersFromTypedDataWithDefaultChecks(true, suppliers, (v, p) -> "numeric");
7979
}
8080

8181
@Override

0 commit comments

Comments
 (0)