summaryrefslogtreecommitdiff
path: root/modules/parent-join/src/test/java/org/elasticsearch/join/query/HasParentQueryBuilderTests.java
diff options
context:
space:
mode:
Diffstat (limited to 'modules/parent-join/src/test/java/org/elasticsearch/join/query/HasParentQueryBuilderTests.java')
-rw-r--r--modules/parent-join/src/test/java/org/elasticsearch/join/query/HasParentQueryBuilderTests.java28
1 files changed, 23 insertions, 5 deletions
diff --git a/modules/parent-join/src/test/java/org/elasticsearch/join/query/HasParentQueryBuilderTests.java b/modules/parent-join/src/test/java/org/elasticsearch/join/query/HasParentQueryBuilderTests.java
index 825dfede61..62ab92ac5e 100644
--- a/modules/parent-join/src/test/java/org/elasticsearch/join/query/HasParentQueryBuilderTests.java
+++ b/modules/parent-join/src/test/java/org/elasticsearch/join/query/HasParentQueryBuilderTests.java
@@ -22,6 +22,7 @@ package org.elasticsearch.join.query;
import org.apache.lucene.search.MatchNoDocsQuery;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.join.ScoreMode;
+import org.elasticsearch.Version;
import org.elasticsearch.action.admin.indices.mapping.put.PutMappingRequest;
import org.elasticsearch.common.compress.CompressedXContent;
import org.elasticsearch.common.xcontent.ToXContent;
@@ -30,6 +31,7 @@ import org.elasticsearch.common.xcontent.XContentFactory;
import org.elasticsearch.index.mapper.MapperService;
import org.elasticsearch.index.query.IdsQueryBuilder;
import org.elasticsearch.index.query.InnerHitBuilder;
+import org.elasticsearch.index.query.InnerHitContextBuilder;
import org.elasticsearch.index.query.MatchAllQueryBuilder;
import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.index.query.QueryShardContext;
@@ -43,6 +45,7 @@ import org.elasticsearch.search.internal.SearchContext;
import org.elasticsearch.search.sort.FieldSortBuilder;
import org.elasticsearch.search.sort.SortOrder;
import org.elasticsearch.test.AbstractQueryTestCase;
+import org.elasticsearch.test.VersionUtils;
import java.io.IOException;
import java.util.Collection;
@@ -108,7 +111,8 @@ public class HasParentQueryBuilderTests extends AbstractQueryTestCase<HasParentQ
hqb.innerHit(new InnerHitBuilder()
.setName(randomAlphaOfLengthBetween(1, 10))
.setSize(randomIntBetween(0, 100))
- .addSort(new FieldSortBuilder(STRING_FIELD_NAME_2).order(SortOrder.ASC)), hqb.ignoreUnmapped());
+ .addSort(new FieldSortBuilder(STRING_FIELD_NAME_2).order(SortOrder.ASC))
+ .setIgnoreUnmapped(hqb.ignoreUnmapped()));
}
return hqb;
}
@@ -125,15 +129,15 @@ public class HasParentQueryBuilderTests extends AbstractQueryTestCase<HasParentQ
queryBuilder = (HasParentQueryBuilder) queryBuilder.rewrite(searchContext.getQueryShardContext());
assertNotNull(searchContext);
- Map<String, InnerHitBuilder> innerHitBuilders = new HashMap<>();
- InnerHitBuilder.extractInnerHits(queryBuilder, innerHitBuilders);
- for (InnerHitBuilder builder : innerHitBuilders.values()) {
+ Map<String, InnerHitContextBuilder> innerHitBuilders = new HashMap<>();
+ InnerHitContextBuilder.extractInnerHits(queryBuilder, innerHitBuilders);
+ for (InnerHitContextBuilder builder : innerHitBuilders.values()) {
builder.build(searchContext, searchContext.innerHits());
}
assertNotNull(searchContext.innerHits());
assertEquals(1, searchContext.innerHits().getInnerHits().size());
assertTrue(searchContext.innerHits().getInnerHits().containsKey(queryBuilder.innerHit().getName()));
- InnerHitsContext.BaseInnerHits innerHits = searchContext.innerHits()
+ InnerHitsContext.InnerHitSubContext innerHits = searchContext.innerHits()
.getInnerHits().get(queryBuilder.innerHit().getName());
assertEquals(innerHits.size(), queryBuilder.innerHit().getSize());
assertEquals(innerHits.sort().sort.getSort().length, 1);
@@ -141,6 +145,20 @@ public class HasParentQueryBuilderTests extends AbstractQueryTestCase<HasParentQ
}
}
+ /**
+ * Test (de)serialization on all previous released versions
+ */
+ public void testSerializationBWC() throws IOException {
+ for (Version version : VersionUtils.allReleasedVersions()) {
+ HasParentQueryBuilder testQuery = createTestQueryBuilder();
+ if (version.before(Version.V_5_2_0) && testQuery.innerHit() != null) {
+ // ignore unmapped for inner_hits has been added on 5.2
+ testQuery.innerHit().setIgnoreUnmapped(false);
+ }
+ assertSerialization(testQuery, version);
+ }
+ }
+
public void testIllegalValues() throws IOException {
QueryBuilder query = new MatchAllQueryBuilder();
IllegalArgumentException e = expectThrows(IllegalArgumentException.class,