diff options
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.java | 28 |
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, |