Skip to content

Commit b981c0c

Browse files
authored
Enhance REST tests for bucket_sort (#91221)
1. Moves integration tests from an `ESIntegTestCase` into a REST test so we can do forwards compatibility tests with it later. 2. Moves the `bucket_sort` pipeline agg from `server` into `modules:aggregations` so it'll be a little easier to test it.
1 parent 14b2d2d commit b981c0c

File tree

9 files changed

+575
-576
lines changed

9 files changed

+575
-576
lines changed

modules/aggregations/src/main/java/org/elasticsearch/aggregations/AggregationsPlugin.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import org.elasticsearch.aggregations.bucket.adjacency.InternalAdjacencyMatrix;
1313
import org.elasticsearch.aggregations.bucket.histogram.AutoDateHistogramAggregationBuilder;
1414
import org.elasticsearch.aggregations.bucket.histogram.InternalAutoDateHistogram;
15+
import org.elasticsearch.aggregations.pipeline.BucketSortPipelineAggregationBuilder;
1516
import org.elasticsearch.aggregations.pipeline.Derivative;
1617
import org.elasticsearch.aggregations.pipeline.DerivativePipelineAggregationBuilder;
1718
import org.elasticsearch.aggregations.pipeline.MovFnPipelineAggregationBuilder;
@@ -44,6 +45,11 @@ public List<AggregationSpec> getAggregations() {
4445
@Override
4546
public List<PipelineAggregationSpec> getPipelineAggregations() {
4647
return List.of(
48+
new PipelineAggregationSpec(
49+
BucketSortPipelineAggregationBuilder.NAME,
50+
BucketSortPipelineAggregationBuilder::new,
51+
BucketSortPipelineAggregationBuilder::parse
52+
),
4753
new PipelineAggregationSpec(
4854
DerivativePipelineAggregationBuilder.NAME,
4955
DerivativePipelineAggregationBuilder::new,
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@
55
* in compliance with, at your election, the Elastic License 2.0 or the Server
66
* Side Public License, v 1.
77
*/
8-
package org.elasticsearch.search.aggregations.pipeline;
8+
package org.elasticsearch.aggregations.pipeline;
99

1010
import org.elasticsearch.Version;
1111
import org.elasticsearch.common.io.stream.StreamInput;
1212
import org.elasticsearch.common.io.stream.StreamOutput;
13+
import org.elasticsearch.search.aggregations.pipeline.AbstractPipelineAggregationBuilder;
1314
import org.elasticsearch.search.aggregations.pipeline.BucketHelpers.GapPolicy;
15+
import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator;
1416
import org.elasticsearch.search.builder.SearchSourceBuilder;
1517
import org.elasticsearch.search.sort.FieldSortBuilder;
1618
import org.elasticsearch.search.sort.SortBuilder;
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,15 @@
55
* in compliance with, at your election, the Elastic License 2.0 or the Server
66
* Side Public License, v 1.
77
*/
8-
package org.elasticsearch.search.aggregations.pipeline;
8+
package org.elasticsearch.aggregations.pipeline;
99

1010
import org.elasticsearch.search.aggregations.AggregationReduceContext;
1111
import org.elasticsearch.search.aggregations.InternalAggregation;
1212
import org.elasticsearch.search.aggregations.InternalMultiBucketAggregation;
1313
import org.elasticsearch.search.aggregations.bucket.MultiBucketsAggregation;
14+
import org.elasticsearch.search.aggregations.pipeline.BucketHelpers;
1415
import org.elasticsearch.search.aggregations.pipeline.BucketHelpers.GapPolicy;
16+
import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator;
1517
import org.elasticsearch.search.sort.FieldSortBuilder;
1618
import org.elasticsearch.search.sort.SortOrder;
1719

server/src/test/java/org/elasticsearch/search/aggregations/pipeline/BucketSortTests.java renamed to modules/aggregations/src/test/java/org/elasticsearch/aggregations/pipeline/BucketSortPipelineAggregationBuilderTests.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,12 @@
55
* in compliance with, at your election, the Elastic License 2.0 or the Server
66
* Side Public License, v 1.
77
*/
8-
package org.elasticsearch.search.aggregations.pipeline;
8+
package org.elasticsearch.aggregations.pipeline;
99

10+
import org.elasticsearch.aggregations.AggregationsPlugin;
11+
import org.elasticsearch.plugins.SearchPlugin;
1012
import org.elasticsearch.search.aggregations.BasePipelineAggregationTestCase;
13+
import org.elasticsearch.search.aggregations.pipeline.BucketHelpers;
1114
import org.elasticsearch.search.sort.FieldSortBuilder;
1215
import org.elasticsearch.search.sort.SortOrder;
1316

@@ -19,7 +22,11 @@
1922
import static java.util.Collections.singletonList;
2023
import static org.hamcrest.Matchers.equalTo;
2124

22-
public class BucketSortTests extends BasePipelineAggregationTestCase<BucketSortPipelineAggregationBuilder> {
25+
public class BucketSortPipelineAggregationBuilderTests extends BasePipelineAggregationTestCase<BucketSortPipelineAggregationBuilder> {
26+
@Override
27+
protected List<SearchPlugin> plugins() {
28+
return List.of(new AggregationsPlugin());
29+
}
2330

2431
@Override
2532
protected BucketSortPipelineAggregationBuilder createTestAggregatorFactory() {

0 commit comments

Comments
 (0)