Skip to content

Commit 5e637c4

Browse files
authored
Add supported type tests to min aggregation (#54021)
1 parent 9a64ae0 commit 5e637c4

File tree

1 file changed

+10
-19
lines changed

1 file changed

+10
-19
lines changed

server/src/test/java/org/elasticsearch/search/aggregations/metrics/MinAggregatorTests.java

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import org.apache.lucene.document.LongPoint;
2828
import org.apache.lucene.document.NumericDocValuesField;
2929
import org.apache.lucene.document.SortedNumericDocValuesField;
30-
import org.apache.lucene.document.SortedSetDocValuesField;
3130
import org.apache.lucene.document.StringField;
3231
import org.apache.lucene.index.DirectoryReader;
3332
import org.apache.lucene.index.IndexOptions;
@@ -45,7 +44,6 @@
4544
import org.apache.lucene.search.Query;
4645
import org.apache.lucene.search.TermQuery;
4746
import org.apache.lucene.store.Directory;
48-
import org.apache.lucene.util.BytesRef;
4947
import org.elasticsearch.Version;
5048
import org.elasticsearch.cluster.metadata.IndexMetaData;
5149
import org.elasticsearch.common.CheckedConsumer;
@@ -55,7 +53,6 @@
5553
import org.elasticsearch.index.IndexSettings;
5654
import org.elasticsearch.index.mapper.ContentPath;
5755
import org.elasticsearch.index.mapper.DateFieldMapper;
58-
import org.elasticsearch.index.mapper.KeywordFieldMapper;
5956
import org.elasticsearch.index.mapper.MappedFieldType;
6057
import org.elasticsearch.index.mapper.Mapper;
6158
import org.elasticsearch.index.mapper.MapperService;
@@ -84,10 +81,12 @@
8481
import org.elasticsearch.search.aggregations.bucket.terms.Terms;
8582
import org.elasticsearch.search.aggregations.bucket.terms.TermsAggregationBuilder;
8683
import org.elasticsearch.search.aggregations.support.AggregationInspectionHelper;
84+
import org.elasticsearch.search.aggregations.support.CoreValuesSourceType;
8785
import org.elasticsearch.search.aggregations.support.FieldContext;
8886
import org.elasticsearch.search.aggregations.support.ValueType;
8987
import org.elasticsearch.search.aggregations.support.ValuesSource;
9088
import org.elasticsearch.search.aggregations.support.ValuesSourceConfig;
89+
import org.elasticsearch.search.aggregations.support.ValuesSourceType;
9190
import org.elasticsearch.search.internal.SearchContext;
9291
import org.elasticsearch.search.lookup.LeafDocLookup;
9392

@@ -278,22 +277,6 @@ public void testUnmappedWithMissingField() throws IOException {
278277
}, fieldType);
279278
}
280279

281-
public void testUnsupportedType() {
282-
MinAggregationBuilder aggregationBuilder = new MinAggregationBuilder("min").field("not_a_number");
283-
284-
MappedFieldType fieldType = new KeywordFieldMapper.KeywordFieldType();
285-
fieldType.setName("not_a_number");
286-
fieldType.setHasDocValues(true);
287-
288-
IllegalArgumentException e = expectThrows(IllegalArgumentException.class,
289-
() -> testCase(aggregationBuilder, new MatchAllDocsQuery(), iw -> {
290-
iw.addDocument(singleton(new SortedSetDocValuesField("string", new BytesRef("foo"))));
291-
}, (Consumer<InternalMin>) min -> {
292-
fail("Should have thrown exception");
293-
}, fieldType));
294-
assertEquals(e.getMessage(), "Expected numeric type on field [not_a_number], but got [keyword]");
295-
}
296-
297280
public void testBadMissingField() {
298281
MinAggregationBuilder aggregationBuilder = new MinAggregationBuilder("min").field("number").missing("not_a_number");
299282

@@ -936,5 +919,13 @@ private <T extends AggregationBuilder, V extends InternalAggregation> void testC
936919
}
937920
}
938921

922+
@Override
923+
protected List<ValuesSourceType> getSupportedValuesSourceTypes() {
924+
return Collections.singletonList(CoreValuesSourceType.NUMERIC);
925+
}
939926

927+
@Override
928+
protected AggregationBuilder createAggBuilderForTypeTest(MappedFieldType fieldType, String fieldName) {
929+
return new MinAggregationBuilder("foo").field(fieldName);
930+
}
940931
}

0 commit comments

Comments
 (0)