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());
 }