public void testParseFromJSON() throws IOException { String query = copyToStringFromClasspath("/org/elasticsearch/index/query/has-child-with-inner-hits.json"); HasChildQueryBuilder queryBuilder = (HasChildQueryBuilder) parseQuery(query); assertEquals(query, queryBuilder.maxChildren(), 1217235442); assertEquals(query, queryBuilder.minChildren(), 883170873); assertEquals(query, queryBuilder.boost(), 2.0f, 0.0f); assertEquals(query, queryBuilder.queryName(), "WNzYMJKRwePuRBh"); assertEquals(query, queryBuilder.childType(), "child"); assertEquals(query, queryBuilder.scoreMode(), ScoreMode.Avg); assertNotNull(query, queryBuilder.innerHit()); assertEquals( query, queryBuilder.innerHit(), new QueryInnerHits( "inner_hits_name", new InnerHitsBuilder.InnerHit().setSize(100).addSort("mapped_string", SortOrder.ASC))); // now assert that we actually generate the same JSON XContentBuilder builder = XContentFactory.jsonBuilder().prettyPrint(); queryBuilder.toXContent(builder, ToXContent.EMPTY_PARAMS); logger.info(msg(query, builder.string())); assertEquals(query, builder.string()); }