elasticsearch-dsl 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -3
  3. data/elasticsearch-dsl.gemspec +5 -1
  4. data/lib/elasticsearch/dsl/search.rb +1 -1
  5. data/lib/elasticsearch/dsl/search/aggregations/missing.rb +36 -0
  6. data/lib/elasticsearch/dsl/search/aggregations/pipeline/avg_bucket.rb +34 -0
  7. data/lib/elasticsearch/dsl/search/aggregations/pipeline/bucket_script.rb +36 -0
  8. data/lib/elasticsearch/dsl/search/aggregations/pipeline/bucket_selector.rb +35 -0
  9. data/lib/elasticsearch/dsl/search/aggregations/pipeline/cumulative_sum.rb +33 -0
  10. data/lib/elasticsearch/dsl/search/aggregations/pipeline/derivative.rb +34 -0
  11. data/lib/elasticsearch/dsl/search/aggregations/pipeline/extended_stats_bucket.rb +34 -0
  12. data/lib/elasticsearch/dsl/search/aggregations/pipeline/max_bucket.rb +34 -0
  13. data/lib/elasticsearch/dsl/search/aggregations/pipeline/min_bucket.rb +34 -0
  14. data/lib/elasticsearch/dsl/search/aggregations/pipeline/moving_avg.rb +42 -0
  15. data/lib/elasticsearch/dsl/search/aggregations/pipeline/percentiles_bucket.rb +36 -0
  16. data/lib/elasticsearch/dsl/search/aggregations/pipeline/serial_diff.rb +36 -0
  17. data/lib/elasticsearch/dsl/search/aggregations/pipeline/stats_bucket.rb +34 -0
  18. data/lib/elasticsearch/dsl/search/aggregations/pipeline/sum_bucket.rb +34 -0
  19. data/lib/elasticsearch/dsl/search/queries/bool.rb +10 -0
  20. data/lib/elasticsearch/dsl/search/sort.rb +11 -2
  21. data/lib/elasticsearch/dsl/version.rb +1 -1
  22. data/test/integration/search_test.rb +60 -0
  23. data/test/unit/aggregations/missing_test.rb +39 -0
  24. data/test/unit/aggregations/pipeline/avg_bucket_test.rb +39 -0
  25. data/test/unit/aggregations/pipeline/bucket_script_test.rb +39 -0
  26. data/test/unit/aggregations/pipeline/bucket_selector_test.rb +38 -0
  27. data/test/unit/aggregations/pipeline/cumulative_sum_test.rb +37 -0
  28. data/test/unit/aggregations/pipeline/derivative_test.rb +39 -0
  29. data/test/unit/aggregations/pipeline/extended_stats_bucket_test.rb +38 -0
  30. data/test/unit/aggregations/pipeline/max_bucket_test.rb +38 -0
  31. data/test/unit/aggregations/pipeline/min_bucket_test.rb +38 -0
  32. data/test/unit/aggregations/pipeline/moving_avg_test.rb +41 -0
  33. data/test/unit/aggregations/pipeline/percentiles_bucket_test.rb +39 -0
  34. data/test/unit/aggregations/pipeline/serial_diff_test.rb +39 -0
  35. data/test/unit/aggregations/pipeline/stats_bucket_test.rb +38 -0
  36. data/test/unit/aggregations/pipeline/sum_bucket_test.rb +38 -0
  37. data/test/unit/queries/bool_test.rb +9 -0
  38. data/test/unit/search_sort_test.rb +25 -0
  39. data/test/unit/search_test.rb +34 -0
  40. metadata +50 -6
@@ -0,0 +1,38 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ module Aggregations
6
+ class ExtendedStatsBucketTest < ::Test::Unit::TestCase
7
+ include Elasticsearch::DSL::Search::Aggregations
8
+
9
+ context "Extended Stats Bucket agg" do
10
+ subject { ExtendedStatsBucket.new }
11
+
12
+ should "be converted to a hash" do
13
+ assert_equal({ extended_stats_bucket: {} }, subject.to_hash)
14
+ end
15
+
16
+ should "have option methods" do
17
+ subject = ExtendedStatsBucket.new :foo
18
+
19
+ subject.buckets_path 'bar'
20
+ subject.gap_policy 'skip'
21
+ subject.format 'bar'
22
+
23
+ assert_equal %w[ buckets_path format gap_policy ],
24
+ subject.to_hash[:extended_stats_bucket][:foo].keys.map(&:to_s).sort
25
+ assert_equal 'bar', subject.to_hash[:extended_stats_bucket][:foo][:buckets_path]
26
+ end
27
+
28
+ should "take a block" do
29
+ subject = ExtendedStatsBucket.new :foo do
30
+ format 'bar'
31
+ end
32
+ assert_equal({extended_stats_bucket: { foo: { format: 'bar' } } }, subject.to_hash)
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,38 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ module Aggregations
6
+ class MaxBucketTest < ::Test::Unit::TestCase
7
+ include Elasticsearch::DSL::Search::Aggregations
8
+
9
+ context "Max Bucket agg" do
10
+ subject { MaxBucket.new }
11
+
12
+ should "be converted to a hash" do
13
+ assert_equal({ max_bucket: {} }, subject.to_hash)
14
+ end
15
+
16
+ should "have option methods" do
17
+ subject = MaxBucket.new :foo
18
+
19
+ subject.buckets_path 'bar'
20
+ subject.gap_policy 'bar'
21
+ subject.format 'bar'
22
+
23
+ assert_equal %w[ buckets_path format gap_policy ],
24
+ subject.to_hash[:max_bucket][:foo].keys.map(&:to_s).sort
25
+ assert_equal 'bar', subject.to_hash[:max_bucket][:foo][:buckets_path]
26
+ end
27
+
28
+ should "take a block" do
29
+ subject = MaxBucket.new :foo do
30
+ format 'bar'
31
+ end
32
+ assert_equal({max_bucket: { foo: { format: 'bar' } } }, subject.to_hash)
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,38 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ module Aggregations
6
+ class MinBucketTest < ::Test::Unit::TestCase
7
+ include Elasticsearch::DSL::Search::Aggregations
8
+
9
+ context "Min Bucket agg" do
10
+ subject { MinBucket.new }
11
+
12
+ should "be converted to a hash" do
13
+ assert_equal({ min_bucket: {} }, subject.to_hash)
14
+ end
15
+
16
+ should "have option methods" do
17
+ subject = MinBucket.new :foo
18
+
19
+ subject.buckets_path 'bar'
20
+ subject.gap_policy 'bar'
21
+ subject.format 'bar'
22
+
23
+ assert_equal %w[ buckets_path format gap_policy ],
24
+ subject.to_hash[:min_bucket][:foo].keys.map(&:to_s).sort
25
+ assert_equal 'bar', subject.to_hash[:min_bucket][:foo][:buckets_path]
26
+ end
27
+
28
+ should "take a block" do
29
+ subject = MinBucket.new :foo do
30
+ format 'bar'
31
+ end
32
+ assert_equal({min_bucket: { foo: { format: 'bar' } } }, subject.to_hash)
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,41 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ module Aggregations
6
+ class MovingAvgTest < ::Test::Unit::TestCase
7
+ include Elasticsearch::DSL::Search::Aggregations
8
+
9
+ context "Moving Average Bucket agg" do
10
+ subject { MovingAvg.new }
11
+
12
+ should "be converted to a hash" do
13
+ assert_equal({ moving_avg: {} }, subject.to_hash)
14
+ end
15
+
16
+ should "have option methods" do
17
+ subject = MovingAvg.new :foo
18
+
19
+ subject.buckets_path 'bar'
20
+ subject.gap_policy 'skip'
21
+ subject.minimize false
22
+ subject.model 'simple'
23
+ subject.settings({ period: 7 })
24
+ subject.window 5
25
+
26
+ assert_equal %w[ buckets_path gap_policy minimize model settings window ],
27
+ subject.to_hash[:moving_avg][:foo].keys.map(&:to_s).sort
28
+ assert_equal 'bar', subject.to_hash[:moving_avg][:foo][:buckets_path]
29
+ end
30
+
31
+ should "take a block" do
32
+ subject = MovingAvg.new :foo do
33
+ format 'bar'
34
+ end
35
+ assert_equal({moving_avg: { foo: { format: 'bar' } } }, subject.to_hash)
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,39 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ module Aggregations
6
+ class PercentilesBucketTest < ::Test::Unit::TestCase
7
+ include Elasticsearch::DSL::Search::Aggregations
8
+
9
+ context "Percentiles Bucket agg" do
10
+ subject { PercentilesBucket.new }
11
+
12
+ should "be converted to a hash" do
13
+ assert_equal({ percentiles_bucket: {} }, subject.to_hash)
14
+ end
15
+
16
+ should "have option methods" do
17
+ subject = PercentilesBucket.new :foo
18
+
19
+ subject.buckets_path 'bar'
20
+ subject.gap_policy 'skip'
21
+ subject.format 'bar'
22
+ subject.percents [ 1, 5, 25, 50, 75, 95, 99 ]
23
+
24
+ assert_equal %w[ buckets_path format gap_policy percents ],
25
+ subject.to_hash[:percentiles_bucket][:foo].keys.map(&:to_s).sort
26
+ assert_equal 'bar', subject.to_hash[:percentiles_bucket][:foo][:buckets_path]
27
+ end
28
+
29
+ should "take a block" do
30
+ subject = PercentilesBucket.new :foo do
31
+ format 'bar'
32
+ end
33
+ assert_equal({percentiles_bucket: { foo: { format: 'bar' } } }, subject.to_hash)
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,39 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ module Aggregations
6
+ class SerialDiffTest < ::Test::Unit::TestCase
7
+ include Elasticsearch::DSL::Search::Aggregations
8
+
9
+ context "Serial Defferencing agg" do
10
+ subject { SerialDiff.new }
11
+
12
+ should "be converted to a hash" do
13
+ assert_equal({ serial_diff: {} }, subject.to_hash)
14
+ end
15
+
16
+ should "have option methods" do
17
+ subject = SerialDiff.new :foo
18
+
19
+ subject.buckets_path 'bar'
20
+ subject.lag 1
21
+ subject.gap_policy 'skip'
22
+ subject.format 'foo'
23
+
24
+ assert_equal %w[ buckets_path format gap_policy lag ],
25
+ subject.to_hash[:serial_diff][:foo].keys.map(&:to_s).sort
26
+ assert_equal 'bar', subject.to_hash[:serial_diff][:foo][:buckets_path]
27
+ end
28
+
29
+ should "take a block" do
30
+ subject = SerialDiff.new :foo do
31
+ gap_policy 'skip'
32
+ end
33
+ assert_equal({serial_diff: { foo: { gap_policy: 'skip' } } }, subject.to_hash)
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,38 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ module Aggregations
6
+ class StatsBucketTest < ::Test::Unit::TestCase
7
+ include Elasticsearch::DSL::Search::Aggregations
8
+
9
+ context "Stats Bucket agg" do
10
+ subject { StatsBucket.new }
11
+
12
+ should "be converted to a hash" do
13
+ assert_equal({ stats_bucket: {} }, subject.to_hash)
14
+ end
15
+
16
+ should "have option methods" do
17
+ subject = StatsBucket.new :foo
18
+
19
+ subject.buckets_path 'bar'
20
+ subject.gap_policy 'bar'
21
+ subject.format 'bar'
22
+
23
+ assert_equal %w[ buckets_path format gap_policy ],
24
+ subject.to_hash[:stats_bucket][:foo].keys.map(&:to_s).sort
25
+ assert_equal 'bar', subject.to_hash[:stats_bucket][:foo][:buckets_path]
26
+ end
27
+
28
+ should "take a block" do
29
+ subject = StatsBucket.new :foo do
30
+ format 'bar'
31
+ end
32
+ assert_equal({stats_bucket: { foo: { format: 'bar' } } }, subject.to_hash)
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,38 @@
1
+ require 'test_helper'
2
+
3
+ module Elasticsearch
4
+ module Test
5
+ module Aggregations
6
+ class SumBucketTest < ::Test::Unit::TestCase
7
+ include Elasticsearch::DSL::Search::Aggregations
8
+
9
+ context "Sum Bucket agg" do
10
+ subject { SumBucket.new }
11
+
12
+ should "be converted to a hash" do
13
+ assert_equal({ sum_bucket: {} }, subject.to_hash)
14
+ end
15
+
16
+ should "have option methods" do
17
+ subject = SumBucket.new :foo
18
+
19
+ subject.buckets_path 'bar'
20
+ subject.gap_policy 'bar'
21
+ subject.format 'bar'
22
+
23
+ assert_equal %w[ buckets_path format gap_policy ],
24
+ subject.to_hash[:sum_bucket][:foo].keys.map(&:to_s).sort
25
+ assert_equal 'bar', subject.to_hash[:sum_bucket][:foo][:buckets_path]
26
+ end
27
+
28
+ should "take a block" do
29
+ subject = SumBucket.new :foo do
30
+ format 'bar'
31
+ end
32
+ assert_equal({sum_bucket: { foo: { format: 'bar' } } }, subject.to_hash)
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -92,6 +92,15 @@ module Elasticsearch
92
92
  subject.to_hash )
93
93
  end
94
94
 
95
+ should "allow adding a filter" do
96
+ subject = Bool.new
97
+ subject.filter do
98
+ term foo: 'bar'
99
+ end
100
+
101
+ assert_equal( { bool: { filter: { term: { foo: "bar" } } } }, subject.to_hash)
102
+ end
103
+
95
104
  should "be chainable" do
96
105
  subject = Bool.new
97
106
 
@@ -34,6 +34,31 @@ module Elasticsearch
34
34
  { bar: { order: 'desc' } },
35
35
  ], subject.to_hash )
36
36
  end
37
+
38
+ should "be empty" do
39
+ subject = Elasticsearch::DSL::Search::Sort.new
40
+ assert_equal subject.empty?, true
41
+ end
42
+
43
+ should "not be empty" do
44
+ subject = Elasticsearch::DSL::Search::Sort.new foo: { order: 'desc' }
45
+ assert_equal subject.empty?, false
46
+ end
47
+
48
+ context "#to_hash" do
49
+ should "not duplicate values when defined by arguments" do
50
+ subject = Elasticsearch::DSL::Search::Sort.new foo: { order: 'desc' }
51
+ assert_equal(subject.to_hash, subject.to_hash)
52
+ end
53
+
54
+ should "not duplicate values when defined by a block" do
55
+ subject = Elasticsearch::DSL::Search::Sort.new do
56
+ by :foo
57
+ end
58
+
59
+ assert_equal(subject.to_hash, subject.to_hash)
60
+ end
61
+ end
37
62
  end
38
63
  end
39
64
  end
@@ -21,6 +21,40 @@ module Elasticsearch
21
21
 
22
22
  assert_instance_of Elasticsearch::DSL::Search::Search, Elasticsearch::DSL::Search.search
23
23
  end
24
+
25
+ should "have access to the calling context" do
26
+ class DummySearchReceiver
27
+ include Elasticsearch::DSL::Search
28
+
29
+ def initialize
30
+ @other_value = 'foo'
31
+ end
32
+
33
+ def value
34
+ 42
35
+ end
36
+
37
+ def search_definition
38
+ search do |q|
39
+ q.from value
40
+ q.size @other_value
41
+
42
+ q.filter do |q|
43
+ q._and do |q|
44
+ q.term thang: @other_value
45
+ q.term attributes: value
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+
52
+ assert_equal({from: 42,
53
+ size: 'foo',
54
+ filter: { and: [ { term: { thang: 'foo' } },
55
+ { term: { attributes: 42 } }]}},
56
+ DummySearchReceiver.new.search_definition.to_hash)
57
+ end
24
58
  end
25
59
 
26
60
  context "The Search class" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elasticsearch-dsl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Karel Minarik
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-21 00:00:00.000000000 Z
11
+ date: 2016-06-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: '11.1'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '11.1'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: elasticsearch
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -241,9 +241,23 @@ files:
241
241
  - lib/elasticsearch/dsl/search/aggregations/ip_range.rb
242
242
  - lib/elasticsearch/dsl/search/aggregations/max.rb
243
243
  - lib/elasticsearch/dsl/search/aggregations/min.rb
244
+ - lib/elasticsearch/dsl/search/aggregations/missing.rb
244
245
  - lib/elasticsearch/dsl/search/aggregations/nested.rb
245
246
  - lib/elasticsearch/dsl/search/aggregations/percentile_ranks.rb
246
247
  - lib/elasticsearch/dsl/search/aggregations/percentiles.rb
248
+ - lib/elasticsearch/dsl/search/aggregations/pipeline/avg_bucket.rb
249
+ - lib/elasticsearch/dsl/search/aggregations/pipeline/bucket_script.rb
250
+ - lib/elasticsearch/dsl/search/aggregations/pipeline/bucket_selector.rb
251
+ - lib/elasticsearch/dsl/search/aggregations/pipeline/cumulative_sum.rb
252
+ - lib/elasticsearch/dsl/search/aggregations/pipeline/derivative.rb
253
+ - lib/elasticsearch/dsl/search/aggregations/pipeline/extended_stats_bucket.rb
254
+ - lib/elasticsearch/dsl/search/aggregations/pipeline/max_bucket.rb
255
+ - lib/elasticsearch/dsl/search/aggregations/pipeline/min_bucket.rb
256
+ - lib/elasticsearch/dsl/search/aggregations/pipeline/moving_avg.rb
257
+ - lib/elasticsearch/dsl/search/aggregations/pipeline/percentiles_bucket.rb
258
+ - lib/elasticsearch/dsl/search/aggregations/pipeline/serial_diff.rb
259
+ - lib/elasticsearch/dsl/search/aggregations/pipeline/stats_bucket.rb
260
+ - lib/elasticsearch/dsl/search/aggregations/pipeline/sum_bucket.rb
247
261
  - lib/elasticsearch/dsl/search/aggregations/range.rb
248
262
  - lib/elasticsearch/dsl/search/aggregations/reverse_nested.rb
249
263
  - lib/elasticsearch/dsl/search/aggregations/scripted_metric.rb
@@ -337,6 +351,7 @@ files:
337
351
  - test/integration/search_size_from_test.rb
338
352
  - test/integration/search_sort_test.rb
339
353
  - test/integration/search_suggest_test.rb
354
+ - test/integration/search_test.rb
340
355
  - test/test_helper.rb
341
356
  - test/unit/aggregations/avg_test.rb
342
357
  - test/unit/aggregations/cardinality_test.rb
@@ -354,9 +369,23 @@ files:
354
369
  - test/unit/aggregations/ip_range_test.rb
355
370
  - test/unit/aggregations/max_test.rb
356
371
  - test/unit/aggregations/min_test.rb
372
+ - test/unit/aggregations/missing_test.rb
357
373
  - test/unit/aggregations/nested_test.rb
358
374
  - test/unit/aggregations/percentile_ranks_test.rb
359
375
  - test/unit/aggregations/percentiles_test.rb
376
+ - test/unit/aggregations/pipeline/avg_bucket_test.rb
377
+ - test/unit/aggregations/pipeline/bucket_script_test.rb
378
+ - test/unit/aggregations/pipeline/bucket_selector_test.rb
379
+ - test/unit/aggregations/pipeline/cumulative_sum_test.rb
380
+ - test/unit/aggregations/pipeline/derivative_test.rb
381
+ - test/unit/aggregations/pipeline/extended_stats_bucket_test.rb
382
+ - test/unit/aggregations/pipeline/max_bucket_test.rb
383
+ - test/unit/aggregations/pipeline/min_bucket_test.rb
384
+ - test/unit/aggregations/pipeline/moving_avg_test.rb
385
+ - test/unit/aggregations/pipeline/percentiles_bucket_test.rb
386
+ - test/unit/aggregations/pipeline/serial_diff_test.rb
387
+ - test/unit/aggregations/pipeline/stats_bucket_test.rb
388
+ - test/unit/aggregations/pipeline/sum_bucket_test.rb
360
389
  - test/unit/aggregations/range_test.rb
361
390
  - test/unit/aggregations/reverse_nested_test.rb
362
391
  - test/unit/aggregations/scripted_metric_test.rb
@@ -478,6 +507,7 @@ test_files:
478
507
  - test/integration/search_size_from_test.rb
479
508
  - test/integration/search_sort_test.rb
480
509
  - test/integration/search_suggest_test.rb
510
+ - test/integration/search_test.rb
481
511
  - test/test_helper.rb
482
512
  - test/unit/aggregations/avg_test.rb
483
513
  - test/unit/aggregations/cardinality_test.rb
@@ -495,9 +525,23 @@ test_files:
495
525
  - test/unit/aggregations/ip_range_test.rb
496
526
  - test/unit/aggregations/max_test.rb
497
527
  - test/unit/aggregations/min_test.rb
528
+ - test/unit/aggregations/missing_test.rb
498
529
  - test/unit/aggregations/nested_test.rb
499
530
  - test/unit/aggregations/percentile_ranks_test.rb
500
531
  - test/unit/aggregations/percentiles_test.rb
532
+ - test/unit/aggregations/pipeline/avg_bucket_test.rb
533
+ - test/unit/aggregations/pipeline/bucket_script_test.rb
534
+ - test/unit/aggregations/pipeline/bucket_selector_test.rb
535
+ - test/unit/aggregations/pipeline/cumulative_sum_test.rb
536
+ - test/unit/aggregations/pipeline/derivative_test.rb
537
+ - test/unit/aggregations/pipeline/extended_stats_bucket_test.rb
538
+ - test/unit/aggregations/pipeline/max_bucket_test.rb
539
+ - test/unit/aggregations/pipeline/min_bucket_test.rb
540
+ - test/unit/aggregations/pipeline/moving_avg_test.rb
541
+ - test/unit/aggregations/pipeline/percentiles_bucket_test.rb
542
+ - test/unit/aggregations/pipeline/serial_diff_test.rb
543
+ - test/unit/aggregations/pipeline/stats_bucket_test.rb
544
+ - test/unit/aggregations/pipeline/sum_bucket_test.rb
501
545
  - test/unit/aggregations/range_test.rb
502
546
  - test/unit/aggregations/reverse_nested_test.rb
503
547
  - test/unit/aggregations/scripted_metric_test.rb