예제 #1
0
 public void testDefaultParsing() throws Exception {
   MovAvgPipelineAggregationBuilder expected =
       new MovAvgPipelineAggregationBuilder("commits_moving_avg", "commits");
   String json =
       "{"
           + "    \"commits_moving_avg\": {"
           + "        \"moving_avg\": {"
           + "            \"buckets_path\": \"commits\""
           + "        }"
           + "    }"
           + "}";
   XContentParser parser = XContentFactory.xContent(json).createParser(json);
   QueryParseContext parseContext =
       new QueryParseContext(queriesRegistry, parser, parseFieldMatcher);
   assertSame(XContentParser.Token.START_OBJECT, parser.nextToken());
   assertSame(XContentParser.Token.FIELD_NAME, parser.nextToken());
   assertEquals(expected.getName(), parser.currentName());
   assertSame(XContentParser.Token.START_OBJECT, parser.nextToken());
   assertSame(XContentParser.Token.FIELD_NAME, parser.nextToken());
   assertEquals(expected.type(), parser.currentName());
   assertSame(XContentParser.Token.START_OBJECT, parser.nextToken());
   PipelineAggregationBuilder newAgg =
       aggParsers
           .pipelineParser(expected.getWriteableName(), ParseFieldMatcher.STRICT)
           .parse(expected.getName(), parseContext);
   assertSame(XContentParser.Token.END_OBJECT, parser.currentToken());
   assertSame(XContentParser.Token.END_OBJECT, parser.nextToken());
   assertSame(XContentParser.Token.END_OBJECT, parser.nextToken());
   assertNull(parser.nextToken());
   assertNotNull(newAgg);
   assertNotSame(newAgg, expected);
   assertEquals(expected, newAgg);
   assertEquals(expected.hashCode(), newAgg.hashCode());
 }