Files
elasticsearch-js/test/dsl/aggregation.test.ts
2020-09-03 17:37:49 +02:00

1679 lines
26 KiB
TypeScript

'use strict'
import { test } from 'tap'
import { A } from '../../dsl'
const shorthandError = new Error('This method does not support shorthand options')
test('A is a function that generates the final aggs object', t => {
t.type(A, 'function')
t.test('Basic', t => {
t.deepEqual(A({ a: 1 }, { b: 2 }, { c: 3 }), {
aggs: {
a: 1,
b: 2,
c: 3
}
})
t.end()
})
t.test('Should discard falsy values', t => {
t.deepEqual(A({ a: 1 }, false, { b: 2 }, null, { c: 3 }), {
aggs: {
a: 1,
b: 2,
c: 3
}
})
t.end()
})
t.end()
})
test('A.aggs is a method to add nested aggregations', t => {
t.test('Plain agg', t => {
const main = A.main.terms('foo')
t.deepEqual(main, {
main: { terms: { field: 'foo' } }
})
const agg1 = A.sumAgg.sum('bar')
const agg2 = A.avgAgg.avg('baz')
A.main.aggs(main, agg1, agg2)
t.deepEqual(main, {
main: {
terms: { field: 'foo' },
aggs: {
sumAgg: { sum: { field: 'bar' } },
avgAgg: { avg: { field: 'baz' } }
}
}
})
t.end()
})
t.test('Already nested agg', t => {
const main = A.main.terms('foo', A.statsAgg.stats('faz'))
t.deepEqual(main, {
main: {
terms: { field: 'foo' },
aggs: {
statsAgg: { stats: { field: 'faz' } }
}
}
})
const agg1 = A.sumAgg.sum('bar')
const agg2 = A.avgAgg.avg('baz')
A.main.aggs(main, agg1, agg2)
t.deepEqual(main, {
main: {
terms: { field: 'foo' },
aggs: {
statsAgg: { stats: { field: 'faz' } },
sumAgg: { sum: { field: 'bar' } },
avgAgg: { avg: { field: 'baz' } }
}
}
})
t.end()
})
t.test('Should filter falsy aggs', t => {
const main = A.main.terms('foo')
t.deepEqual(main, {
main: { terms: { field: 'foo' } }
})
const agg1 = A.sumAgg.sum('bar')
const agg2 = A.avgAgg.avg('baz')
A.main.aggs(main, agg1, null, agg2, false)
t.deepEqual(main, {
main: {
terms: { field: 'foo' },
aggs: {
sumAgg: { sum: { field: 'bar' } },
avgAgg: { avg: { field: 'baz' } }
}
}
})
t.end()
})
t.end()
})
test('avg', t => {
t.deepEqual(A.aggName.avg({ field: 'foo' }), {
aggName: {
avg: {
field: 'foo'
}
}
})
t.deepEqual(A.aggName.avg('foo'), {
aggName: {
avg: {
field: 'foo'
}
}
})
t.end()
})
test('weightedAvg', t => {
t.deepEqual(A.aggName.weightedAvg({ field: 'foo' }), {
aggName: {
weighted_avg: {
field: 'foo'
}
}
})
t.throws(
() => A.aggName.weightedAvg('foo'),
shorthandError
)
t.end()
})
test('cardinality', t => {
t.deepEqual(A.aggName.cardinality({ field: 'foo' }), {
aggName: {
cardinality: {
field: 'foo'
}
}
})
t.deepEqual(A.aggName.cardinality('foo'), {
aggName: {
cardinality: {
field: 'foo'
}
}
})
t.end()
})
test('extendedStats', t => {
t.deepEqual(A.aggName.extendedStats({ field: 'foo' }), {
aggName: {
extended_stats: {
field: 'foo'
}
}
})
t.deepEqual(A.aggName.extendedStats('foo'), {
aggName: {
extended_stats: {
field: 'foo'
}
}
})
t.end()
})
test('geoBounds', t => {
t.deepEqual(A.aggName.geoBounds({ field: 'foo' }), {
aggName: {
geo_bounds: {
field: 'foo'
}
}
})
t.deepEqual(A.aggName.geoBounds('foo'), {
aggName: {
geo_bounds: {
field: 'foo'
}
}
})
t.end()
})
test('geoCentroid', t => {
t.deepEqual(A.aggName.geoCentroid({ field: 'foo' }), {
aggName: {
geo_centroid: {
field: 'foo'
}
}
})
t.deepEqual(A.aggName.geoCentroid('foo'), {
aggName: {
geo_centroid: {
field: 'foo'
}
}
})
t.end()
})
test('max', t => {
t.deepEqual(A.aggName.max({ field: 'foo' }), {
aggName: {
max: {
field: 'foo'
}
}
})
t.deepEqual(A.aggName.max('foo'), {
aggName: {
max: {
field: 'foo'
}
}
})
t.end()
})
test('min', t => {
t.deepEqual(A.aggName.min({ field: 'foo' }), {
aggName: {
min: {
field: 'foo'
}
}
})
t.deepEqual(A.aggName.min('foo'), {
aggName: {
min: {
field: 'foo'
}
}
})
t.end()
})
test('percentiles', t => {
t.deepEqual(A.aggName.percentiles({ field: 'foo' }), {
aggName: {
percentiles: {
field: 'foo'
}
}
})
t.deepEqual(A.aggName.percentiles('foo'), {
aggName: {
percentiles: {
field: 'foo'
}
}
})
t.end()
})
test('percentileRanks', t => {
t.deepEqual(A.aggName.percentileRanks({ field: 'foo' }), {
aggName: {
percentile_ranks: {
field: 'foo'
}
}
})
t.throws(
() => A.aggName.percentileRanks('foo'),
shorthandError
)
t.end()
})
test('scriptedMetric', t => {
t.deepEqual(A.aggName.scriptedMetric({ field: 'foo' }), {
aggName: {
scripted_metric: {
field: 'foo'
}
}
})
t.throws(
() => A.aggName.scriptedMetric('foo'),
shorthandError
)
t.end()
})
test('stats', t => {
t.deepEqual(A.aggName.stats({ field: 'foo' }), {
aggName: {
stats: {
field: 'foo'
}
}
})
t.deepEqual(A.aggName.stats('foo'), {
aggName: {
stats: {
field: 'foo'
}
}
})
t.end()
})
test('sum', t => {
t.deepEqual(A.aggName.sum({ field: 'foo' }), {
aggName: {
sum: {
field: 'foo'
}
}
})
t.deepEqual(A.aggName.sum('foo'), {
aggName: {
sum: {
field: 'foo'
}
}
})
t.end()
})
test('topHits', t => {
t.deepEqual(A.aggName.topHits({ field: 'foo' }), {
aggName: {
top_hits: {
field: 'foo'
}
}
})
t.throws(
() => A.aggName.topHits('foo'),
shorthandError
)
t.end()
})
test('valueCount', t => {
t.deepEqual(A.aggName.valueCount({ field: 'foo' }), {
aggName: {
value_count: {
field: 'foo'
}
}
})
t.deepEqual(A.aggName.valueCount('foo'), {
aggName: {
value_count: {
field: 'foo'
}
}
})
t.end()
})
test('medianAbsoluteDeviation', t => {
t.deepEqual(A.aggName.medianAbsoluteDeviation({ field: 'foo' }), {
aggName: {
median_absolute_deviation: {
field: 'foo'
}
}
})
t.deepEqual(A.aggName.medianAbsoluteDeviation('foo'), {
aggName: {
median_absolute_deviation: {
field: 'foo'
}
}
})
t.end()
})
test('adjacencyMatrix', t => {
t.deepEqual(A.aggName.adjacencyMatrix({ field: 'foo' }), {
aggName: {
adjacency_matrix: {
field: 'foo'
}
}
})
t.throws(
() => A.aggName.adjacencyMatrix('foo'),
shorthandError
)
const agg = A.aggName.adjacencyMatrix(
{ field: 'foo' },
A.sumAgg.sum('bar'),
A.avgAgg.avg('baz')
)
t.deepEqual(agg, {
aggName: {
adjacency_matrix: {
field: 'foo'
},
aggs: {
sumAgg: {
sum: { field: 'bar' }
},
avgAgg: {
avg: { field: 'baz' }
}
}
}
})
t.end()
})
test('autoDateHistogram', t => {
t.deepEqual(A.aggName.autoDateHistogram({ field: 'foo' }), {
aggName: {
auto_date_histogram: {
field: 'foo'
}
}
})
t.deepEqual(A.aggName.autoDateHistogram('foo'), {
aggName: {
auto_date_histogram: {
field: 'foo'
}
}
})
const agg = A.aggName.autoDateHistogram(
{ field: 'foo' },
A.sumAgg.sum('bar'),
A.avgAgg.avg('baz')
)
t.deepEqual(agg, {
aggName: {
auto_date_histogram: {
field: 'foo'
},
aggs: {
sumAgg: {
sum: { field: 'bar' }
},
avgAgg: {
avg: { field: 'baz' }
}
}
}
})
t.end()
})
test('children', t => {
t.deepEqual(A.aggName.children({ type: 'foo' }), {
aggName: {
children: {
type: 'foo'
}
}
})
t.deepEqual(A.aggName.children('foo'), {
aggName: {
children: {
type: 'foo'
}
}
})
const agg = A.aggName.children(
{ field: 'foo' },
A.sumAgg.sum('bar'),
A.avgAgg.avg('baz')
)
t.deepEqual(agg, {
aggName: {
children: {
field: 'foo'
},
aggs: {
sumAgg: {
sum: { field: 'bar' }
},
avgAgg: {
avg: { field: 'baz' }
}
}
}
})
t.end()
})
test('composite', t => {
t.deepEqual(A.aggName.composite({ field: 'foo' }), {
aggName: {
composite: {
field: 'foo'
}
}
})
t.throws(
() => A.aggName.composite('foo'),
shorthandError
)
const agg = A.aggName.composite(
{ field: 'foo' },
A.sumAgg.sum('bar'),
A.avgAgg.avg('baz')
)
t.deepEqual(agg, {
aggName: {
composite: {
field: 'foo'
},
aggs: {
sumAgg: {
sum: { field: 'bar' }
},
avgAgg: {
avg: { field: 'baz' }
}
}
}
})
t.end()
})
test('dateHistogram', t => {
t.deepEqual(A.aggName.dateHistogram({ field: 'foo' }), {
aggName: {
date_histogram: {
field: 'foo'
}
}
})
t.throws(
() => A.aggName.dateHistogram('foo'),
shorthandError
)
const agg = A.aggName.dateHistogram(
{ field: 'foo' },
A.sumAgg.sum('bar'),
A.avgAgg.avg('baz')
)
t.deepEqual(agg, {
aggName: {
date_histogram: {
field: 'foo'
},
aggs: {
sumAgg: {
sum: { field: 'bar' }
},
avgAgg: {
avg: { field: 'baz' }
}
}
}
})
t.end()
})
test('dateRange', t => {
t.deepEqual(A.aggName.dateRange({ field: 'foo' }), {
aggName: {
date_range: {
field: 'foo'
}
}
})
t.throws(
() => A.aggName.dateRange('foo'),
shorthandError
)
const agg = A.aggName.dateRange(
{ field: 'foo' },
A.sumAgg.sum('bar'),
A.avgAgg.avg('baz')
)
t.deepEqual(agg, {
aggName: {
date_range: {
field: 'foo'
},
aggs: {
sumAgg: {
sum: { field: 'bar' }
},
avgAgg: {
avg: { field: 'baz' }
}
}
}
})
t.end()
})
test('diversifiedSampler', t => {
t.deepEqual(A.aggName.diversifiedSampler({ field: 'foo' }), {
aggName: {
diversified_sampler: {
field: 'foo'
}
}
})
t.deepEqual(A.aggName.diversifiedSampler('foo'), {
aggName: {
diversified_sampler: {
field: 'foo'
}
}
})
const agg = A.aggName.diversifiedSampler(
{ field: 'foo' },
A.sumAgg.sum('bar'),
A.avgAgg.avg('baz')
)
t.deepEqual(agg, {
aggName: {
diversified_sampler: {
field: 'foo'
},
aggs: {
sumAgg: {
sum: { field: 'bar' }
},
avgAgg: {
avg: { field: 'baz' }
}
}
}
})
t.end()
})
test('filter', t => {
t.deepEqual(A.aggName.filter({ field: 'foo' }), {
aggName: {
filter: {
field: 'foo'
}
}
})
t.throws(
() => A.aggName.filter('foo'),
shorthandError
)
const agg = A.aggName.filter(
{ field: 'foo' },
A.sumAgg.sum('bar'),
A.avgAgg.avg('baz')
)
t.deepEqual(agg, {
aggName: {
filter: {
field: 'foo'
},
aggs: {
sumAgg: {
sum: { field: 'bar' }
},
avgAgg: {
avg: { field: 'baz' }
}
}
}
})
t.end()
})
test('filters', t => {
t.deepEqual(A.aggName.filters({ field: 'foo' }), {
aggName: {
filters: {
field: 'foo'
}
}
})
t.throws(
() => A.aggName.filters('foo'),
shorthandError
)
const agg = A.aggName.filters(
{ field: 'foo' },
A.sumAgg.sum('bar'),
A.avgAgg.avg('baz')
)
t.deepEqual(agg, {
aggName: {
filters: {
field: 'foo'
},
aggs: {
sumAgg: {
sum: { field: 'bar' }
},
avgAgg: {
avg: { field: 'baz' }
}
}
}
})
t.end()
})
test('geoDistance', t => {
t.deepEqual(A.aggName.geoDistance({ field: 'foo' }), {
aggName: {
geo_distance: {
field: 'foo'
}
}
})
t.throws(
() => A.aggName.geoDistance('foo'),
shorthandError
)
const agg = A.aggName.geoDistance(
{ field: 'foo' },
A.sumAgg.sum('bar'),
A.avgAgg.avg('baz')
)
t.deepEqual(agg, {
aggName: {
geo_distance: {
field: 'foo'
},
aggs: {
sumAgg: {
sum: { field: 'bar' }
},
avgAgg: {
avg: { field: 'baz' }
}
}
}
})
t.end()
})
test('geohashGrid', t => {
t.deepEqual(A.aggName.geohashGrid({ field: 'foo' }), {
aggName: {
geohash_grid: {
field: 'foo'
}
}
})
t.deepEqual(A.aggName.geohashGrid('foo'), {
aggName: {
geohash_grid: {
field: 'foo'
}
}
})
const agg = A.aggName.geohashGrid(
{ field: 'foo' },
A.sumAgg.sum('bar'),
A.avgAgg.avg('baz')
)
t.deepEqual(agg, {
aggName: {
geohash_grid: {
field: 'foo'
},
aggs: {
sumAgg: {
sum: { field: 'bar' }
},
avgAgg: {
avg: { field: 'baz' }
}
}
}
})
t.end()
})
test('geotileGrid', t => {
t.deepEqual(A.aggName.geotileGrid({ field: 'foo' }), {
aggName: {
geotile_grid: {
field: 'foo'
}
}
})
t.deepEqual(A.aggName.geotileGrid('foo'), {
aggName: {
geotile_grid: {
field: 'foo'
}
}
})
const agg = A.aggName.geotileGrid(
{ field: 'foo' },
A.sumAgg.sum('bar'),
A.avgAgg.avg('baz')
)
t.deepEqual(agg, {
aggName: {
geotile_grid: {
field: 'foo'
},
aggs: {
sumAgg: {
sum: { field: 'bar' }
},
avgAgg: {
avg: { field: 'baz' }
}
}
}
})
t.end()
})
test('global', t => {
t.deepEqual(A.aggName.global({}), {
aggName: {
global: {}
}
})
t.throws(
() => A.aggName.global('foo'),
shorthandError
)
const agg = A.aggName.global(
{ field: 'foo' },
A.sumAgg.sum('bar'),
A.avgAgg.avg('baz')
)
t.deepEqual(agg, {
aggName: {
global: {
field: 'foo'
},
aggs: {
sumAgg: {
sum: { field: 'bar' }
},
avgAgg: {
avg: { field: 'baz' }
}
}
}
})
t.end()
})
test('histogram', t => {
t.deepEqual(A.aggName.histogram({ field: 'foo' }), {
aggName: {
histogram: {
field: 'foo'
}
}
})
t.throws(
() => A.aggName.histogram('foo'),
shorthandError
)
const agg = A.aggName.histogram(
{ field: 'foo' },
A.sumAgg.sum('bar'),
A.avgAgg.avg('baz')
)
t.deepEqual(agg, {
aggName: {
histogram: {
field: 'foo'
},
aggs: {
sumAgg: {
sum: { field: 'bar' }
},
avgAgg: {
avg: { field: 'baz' }
}
}
}
})
t.end()
})
test('ipRange', t => {
t.deepEqual(A.aggName.ipRange({ field: 'foo' }), {
aggName: {
ip_range: {
field: 'foo'
}
}
})
t.throws(
() => A.aggName.ipRange('foo'),
shorthandError
)
const agg = A.aggName.ipRange(
{ field: 'foo' },
A.sumAgg.sum('bar'),
A.avgAgg.avg('baz')
)
t.deepEqual(agg, {
aggName: {
ip_range: {
field: 'foo'
},
aggs: {
sumAgg: {
sum: { field: 'bar' }
},
avgAgg: {
avg: { field: 'baz' }
}
}
}
})
t.end()
})
test('missing', t => {
t.deepEqual(A.aggName.missing({ field: 'foo' }), {
aggName: {
missing: {
field: 'foo'
}
}
})
t.deepEqual(A.aggName.missing('foo'), {
aggName: {
missing: {
field: 'foo'
}
}
})
const agg = A.aggName.missing(
{ field: 'foo' },
A.sumAgg.sum('bar'),
A.avgAgg.avg('baz')
)
t.deepEqual(agg, {
aggName: {
missing: {
field: 'foo'
},
aggs: {
sumAgg: {
sum: { field: 'bar' }
},
avgAgg: {
avg: { field: 'baz' }
}
}
}
})
t.end()
})
test('nested', t => {
t.deepEqual(A.aggName.nested({ path: 'foo' }), {
aggName: {
nested: {
path: 'foo'
}
}
})
t.deepEqual(A.aggName.nested('foo'), {
aggName: {
nested: {
path: 'foo'
}
}
})
const agg = A.aggName.nested(
{ field: 'foo' },
A.sumAgg.sum('bar'),
A.avgAgg.avg('baz')
)
t.deepEqual(agg, {
aggName: {
nested: {
field: 'foo'
},
aggs: {
sumAgg: {
sum: { field: 'bar' }
},
avgAgg: {
avg: { field: 'baz' }
}
}
}
})
t.end()
})
test('parent', t => {
t.deepEqual(A.aggName.parent({ type: 'foo' }), {
aggName: {
parent: {
type: 'foo'
}
}
})
t.deepEqual(A.aggName.parent('foo'), {
aggName: {
parent: {
type: 'foo'
}
}
})
const agg = A.aggName.parent(
{ field: 'foo' },
A.sumAgg.sum('bar'),
A.avgAgg.avg('baz')
)
t.deepEqual(agg, {
aggName: {
parent: {
field: 'foo'
},
aggs: {
sumAgg: {
sum: { field: 'bar' }
},
avgAgg: {
avg: { field: 'baz' }
}
}
}
})
t.end()
})
test('range', t => {
t.deepEqual(A.aggName.range({ field: 'foo' }), {
aggName: {
range: {
field: 'foo'
}
}
})
t.throws(
() => A.aggName.range('foo'),
shorthandError
)
const agg = A.aggName.range(
{ field: 'foo' },
A.sumAgg.sum('bar'),
A.avgAgg.avg('baz')
)
t.deepEqual(agg, {
aggName: {
range: {
field: 'foo'
},
aggs: {
sumAgg: {
sum: { field: 'bar' }
},
avgAgg: {
avg: { field: 'baz' }
}
}
}
})
t.end()
})
test('reverseNested', t => {
t.deepEqual(A.aggName.reverseNested({ field: 'foo' }), {
aggName: {
reverse_nested: {
field: 'foo'
}
}
})
t.throws(
() => A.aggName.reverseNested('foo'),
shorthandError
)
const agg = A.aggName.reverseNested(
{ field: 'foo' },
A.sumAgg.sum('bar'),
A.avgAgg.avg('baz')
)
t.deepEqual(agg, {
aggName: {
reverse_nested: {
field: 'foo'
},
aggs: {
sumAgg: {
sum: { field: 'bar' }
},
avgAgg: {
avg: { field: 'baz' }
}
}
}
})
t.end()
})
test('sampler', t => {
t.deepEqual(A.aggName.sampler({ shard_size: 42 }), {
aggName: {
sampler: {
shard_size: 42
}
}
})
t.throws(
() => A.aggName.sampler('foo'),
shorthandError
)
const agg = A.aggName.sampler(
{ field: 'foo' },
A.sumAgg.sum('bar'),
A.avgAgg.avg('baz')
)
t.deepEqual(agg, {
aggName: {
sampler: {
field: 'foo'
},
aggs: {
sumAgg: {
sum: { field: 'bar' }
},
avgAgg: {
avg: { field: 'baz' }
}
}
}
})
t.end()
})
test('significantTerms', t => {
t.deepEqual(A.aggName.significantTerms({ field: 'foo' }), {
aggName: {
significant_terms: {
field: 'foo'
}
}
})
t.deepEqual(A.aggName.significantTerms('foo'), {
aggName: {
significant_terms: {
field: 'foo'
}
}
})
const agg = A.aggName.significantTerms(
{ field: 'foo' },
A.sumAgg.sum('bar'),
A.avgAgg.avg('baz')
)
t.deepEqual(agg, {
aggName: {
significant_terms: {
field: 'foo'
},
aggs: {
sumAgg: {
sum: { field: 'bar' }
},
avgAgg: {
avg: { field: 'baz' }
}
}
}
})
t.end()
})
test('significantText', t => {
t.deepEqual(A.aggName.significantText({ field: 'foo' }), {
aggName: {
significant_text: {
field: 'foo'
}
}
})
t.deepEqual(A.aggName.significantText('foo'), {
aggName: {
significant_text: {
field: 'foo'
}
}
})
const agg = A.aggName.significantText(
{ field: 'foo' },
A.sumAgg.sum('bar'),
A.avgAgg.avg('baz')
)
t.deepEqual(agg, {
aggName: {
significant_text: {
field: 'foo'
},
aggs: {
sumAgg: {
sum: { field: 'bar' }
},
avgAgg: {
avg: { field: 'baz' }
}
}
}
})
t.end()
})
test('terms', t => {
t.deepEqual(A.aggName.terms({ field: 'foo' }), {
aggName: {
terms: {
field: 'foo'
}
}
})
t.deepEqual(A.aggName.terms('foo'), {
aggName: {
terms: {
field: 'foo'
}
}
})
const agg = A.aggName.terms(
{ field: 'foo' },
A.sumAgg.sum('bar'),
A.avgAgg.avg('baz')
)
t.deepEqual(agg, {
aggName: {
terms: {
field: 'foo'
},
aggs: {
sumAgg: {
sum: { field: 'bar' }
},
avgAgg: {
avg: { field: 'baz' }
}
}
}
})
t.end()
})
test('avgBucket', t => {
t.deepEqual(A.aggName.avgBucket({ buckets_path: 'foo' }), {
aggName: {
avg_bucket: {
buckets_path: 'foo'
}
}
})
t.deepEqual(A.aggName.avgBucket('foo'), {
aggName: {
avg_bucket: {
buckets_path: 'foo'
}
}
})
t.end()
})
test('derivative', t => {
t.deepEqual(A.aggName.derivative({ buckets_path: 'foo' }), {
aggName: {
derivative: {
buckets_path: 'foo'
}
}
})
t.deepEqual(A.aggName.derivative('foo'), {
aggName: {
derivative: {
buckets_path: 'foo'
}
}
})
t.end()
})
test('maxBucket', t => {
t.deepEqual(A.aggName.maxBucket({ buckets_path: 'foo' }), {
aggName: {
max_bucket: {
buckets_path: 'foo'
}
}
})
t.deepEqual(A.aggName.maxBucket('foo'), {
aggName: {
max_bucket: {
buckets_path: 'foo'
}
}
})
t.end()
})
test('minBucket', t => {
t.deepEqual(A.aggName.minBucket({ buckets_path: 'foo' }), {
aggName: {
min_bucket: {
buckets_path: 'foo'
}
}
})
t.deepEqual(A.aggName.minBucket('foo'), {
aggName: {
min_bucket: {
buckets_path: 'foo'
}
}
})
t.end()
})
test('sumBucket', t => {
t.deepEqual(A.aggName.sumBucket({ buckets_path: 'foo' }), {
aggName: {
sum_bucket: {
buckets_path: 'foo'
}
}
})
t.deepEqual(A.aggName.sumBucket('foo'), {
aggName: {
sum_bucket: {
buckets_path: 'foo'
}
}
})
t.end()
})
test('statsBucket', t => {
t.deepEqual(A.aggName.statsBucket({ buckets_path: 'foo' }), {
aggName: {
stats_bucket: {
buckets_path: 'foo'
}
}
})
t.deepEqual(A.aggName.statsBucket('foo'), {
aggName: {
stats_bucket: {
buckets_path: 'foo'
}
}
})
t.end()
})
test('extendedStatsBucket', t => {
t.deepEqual(A.aggName.extendedStatsBucket({ buckets_path: 'foo' }), {
aggName: {
extended_stats_bucket: {
buckets_path: 'foo'
}
}
})
t.deepEqual(A.aggName.extendedStatsBucket('foo'), {
aggName: {
extended_stats_bucket: {
buckets_path: 'foo'
}
}
})
t.end()
})
test('percentilesBucket', t => {
t.deepEqual(A.aggName.percentilesBucket({ buckets_path: 'foo' }), {
aggName: {
percentiles_bucket: {
buckets_path: 'foo'
}
}
})
t.deepEqual(A.aggName.percentilesBucket('foo'), {
aggName: {
percentiles_bucket: {
buckets_path: 'foo'
}
}
})
t.end()
})
test('movingAvg', t => {
t.deepEqual(A.aggName.movingAvg({ buckets_path: 'foo' }), {
aggName: {
moving_avg: {
buckets_path: 'foo'
}
}
})
t.deepEqual(A.aggName.movingAvg('foo'), {
aggName: {
moving_avg: {
buckets_path: 'foo'
}
}
})
t.end()
})
test('movingFn', t => {
t.deepEqual(A.aggName.movingFn({ buckets_path: 'foo' }), {
aggName: {
moving_fn: {
buckets_path: 'foo'
}
}
})
t.throws(
() => A.aggName.movingFn('foo'),
shorthandError
)
t.end()
})
test('cumulativeSum', t => {
t.deepEqual(A.aggName.cumulativeSum({ buckets_path: 'foo' }), {
aggName: {
cumulative_sum: {
buckets_path: 'foo'
}
}
})
t.deepEqual(A.aggName.cumulativeSum('foo'), {
aggName: {
cumulative_sum: {
buckets_path: 'foo'
}
}
})
t.end()
})
test('bucketScript', t => {
t.deepEqual(A.aggName.bucketScript({ buckets_path: 'foo' }), {
aggName: {
bucket_script: {
buckets_path: 'foo'
}
}
})
t.throws(
() => A.aggName.bucketScript('foo'),
shorthandError
)
t.end()
})
test('bucketSelector', t => {
t.deepEqual(A.aggName.bucketSelector({ buckets_path: 'foo' }), {
aggName: {
bucket_selector: {
buckets_path: 'foo'
}
}
})
t.throws(
() => A.aggName.bucketSelector('foo'),
shorthandError
)
t.end()
})
test('bucketSort', t => {
t.deepEqual(A.aggName.bucketSort({ buckets_path: 'foo' }), {
aggName: {
bucket_sort: {
buckets_path: 'foo'
}
}
})
t.throws(
() => A.aggName.bucketSort('foo'),
shorthandError
)
t.end()
})
test('serialDiff', t => {
t.deepEqual(A.aggName.serialDiff({ buckets_path: 'foo' }), {
aggName: {
serial_diff: {
buckets_path: 'foo'
}
}
})
t.deepEqual(A.aggName.serialDiff('foo'), {
aggName: {
serial_diff: {
buckets_path: 'foo'
}
}
})
t.end()
})
test('matrixStats', t => {
t.deepEqual(A.aggName.matrixStats({ fields: 'foo' }), {
aggName: {
matrix_stats: {
fields: 'foo'
}
}
})
t.deepEqual(A.aggName.matrixStats('foo'), {
aggName: {
matrix_stats: {
fields: 'foo'
}
}
})
t.end()
})