Skip to content

Commit 5a0ecf1

Browse files
committed
Add tests
Signed-off-by: Rishab Nahata <[email protected]>
1 parent ac34a73 commit 5a0ecf1

File tree

2 files changed

+28
-11
lines changed

2 files changed

+28
-11
lines changed

server/src/test/java/org/opensearch/search/aggregations/startree/MetricAggregatorTests.java

+22-1
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
import org.opensearch.index.mapper.MappedFieldType;
5353
import org.opensearch.index.mapper.MapperService;
5454
import org.opensearch.index.mapper.NumberFieldMapper;
55+
import org.opensearch.index.query.BoolQueryBuilder;
5556
import org.opensearch.index.query.QueryBuilder;
5657
import org.opensearch.index.query.QueryShardContext;
5758
import org.opensearch.index.query.RangeQueryBuilder;
@@ -245,7 +246,9 @@ private void testStarTreeDocValuesInternal(Codec codec, List<DimensionFieldData>
245246
for (int cases = 0; cases < 15; cases++) {
246247
// Get all types of queries (Term/Terms/Range) for all the given dimensions.
247248
List<QueryBuilder> allFieldQueries = dimensionFieldData.stream()
248-
.flatMap(x -> Stream.of(x.getTermQueryBuilder(), x.getTermsQueryBuilder(), x.getRangeQueryBuilder()))
249+
.flatMap(
250+
x -> Stream.of(x.getTermQueryBuilder(), x.getTermsQueryBuilder(), x.getRangeQueryBuilder(), x.getBoolQueryBuilder())
251+
)
249252
.toList();
250253

251254
for (QueryBuilder qb : allFieldQueries) {
@@ -547,6 +550,24 @@ public QueryBuilder getRangeQueryBuilder() {
547550
.includeUpper(randomBoolean());
548551
}
549552

553+
public QueryBuilder getBoolQueryBuilder() {
554+
// MUST only
555+
BoolQueryBuilder mustOnly = new BoolQueryBuilder().must(getTermQueryBuilder()).must(getRangeQueryBuilder());
556+
557+
// MUST with nested SHOULD on same dimension
558+
BoolQueryBuilder mustWithShould = new BoolQueryBuilder().must(getTermQueryBuilder())
559+
.must(
560+
new BoolQueryBuilder().should(new TermQueryBuilder(fieldName, valueSupplier.get()))
561+
.should(new TermQueryBuilder(fieldName, valueSupplier.get()))
562+
);
563+
564+
// SHOULD only on same dimension
565+
BoolQueryBuilder shouldOnly = new BoolQueryBuilder().should(new TermQueryBuilder(fieldName, valueSupplier.get()))
566+
.should(new RangeQueryBuilder(fieldName).from(valueSupplier.get()).to(valueSupplier.get()));
567+
568+
return randomFrom(mustOnly, mustWithShould, shouldOnly);
569+
}
570+
550571
public String getFieldType() {
551572
return fieldType;
552573
}

server/src/test/java/org/opensearch/search/aggregations/startree/StarTreeFilterTests.java

+6-10
Original file line numberDiff line numberDiff line change
@@ -500,21 +500,17 @@ public void testStarTreeFilterWithBoolQueries() throws IOException {
500500
.thenReturn(new NumberFieldMapper.NumberFieldType(DV, NumberFieldMapper.NumberType.INTEGER));
501501

502502
// Test 'MUST' clause
503-
StarTreeFilter mustFilter = new StarTreeFilter(Map.of(
504-
SNDV, List.of(new ExactMatchDimFilter(SNDV, List.of(0L))),
505-
DV, List.of(new ExactMatchDimFilter(DV, List.of(0L)))
506-
));
503+
StarTreeFilter mustFilter = new StarTreeFilter(
504+
Map.of(SNDV, List.of(new ExactMatchDimFilter(SNDV, List.of(0L))), DV, List.of(new ExactMatchDimFilter(DV, List.of(0L))))
505+
);
507506
long starTreeDocCount = getDocCountFromStarTree(starTreeDocValuesReader, mustFilter, context, searchContext);
508507
long docCount = getDocCount(docs, Map.of(SNDV, 0L, DV, 0L));
509508
assertEquals(docCount, starTreeDocCount);
510509

511510
// Test 'SHOULD' clause (same dimension)
512-
StarTreeFilter shouldFilter = new StarTreeFilter(Map.of(
513-
SNDV, Arrays.asList(
514-
new ExactMatchDimFilter(SNDV, List.of(0L)),
515-
new ExactMatchDimFilter(SNDV, List.of(1L))
516-
)
517-
));
511+
StarTreeFilter shouldFilter = new StarTreeFilter(
512+
Map.of(SNDV, Arrays.asList(new ExactMatchDimFilter(SNDV, List.of(0L)), new ExactMatchDimFilter(SNDV, List.of(1L))))
513+
);
518514
starTreeDocCount = getDocCountFromStarTree(starTreeDocValuesReader, shouldFilter, context, searchContext);
519515
docCount = getDocCount(docs, Map.of(SNDV, 0L)) + getDocCount(docs, Map.of(SNDV, 1L));
520516
assertEquals(docCount, starTreeDocCount);

0 commit comments

Comments
 (0)