You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-03 04:01:40 +03:00
* Adds the start of a timeseries example. * Exports required TimeSeries items. * Fixed import. * Added TS.INFO example output. * Fixed typo. * Fixed typo. * Exported aggregation enum. * Working time series example. Co-authored-by: Leibale Eidelman <leibale1998@gmail.com>
51 lines
1.6 KiB
TypeScript
51 lines
1.6 KiB
TypeScript
import { strict as assert } from 'assert';
|
|
import testUtils, { GLOBAL } from '../test-utils';
|
|
import { transformArguments } from './MRANGE';
|
|
import { TimeSeriesAggregationType, TimeSeriesReducers } from '.';
|
|
|
|
describe('MRANGE', () => {
|
|
it('transformArguments', () => {
|
|
assert.deepEqual(
|
|
transformArguments('-', '+', 'label=value', {
|
|
FILTER_BY_TS: [0],
|
|
FILTER_BY_VALUE: {
|
|
min: 0,
|
|
max: 1
|
|
},
|
|
COUNT: 1,
|
|
ALIGN: '-',
|
|
AGGREGATION: {
|
|
type: TimeSeriesAggregationType.AVERAGE,
|
|
timeBucket: 1
|
|
},
|
|
GROUPBY: {
|
|
label: 'label',
|
|
reducer: TimeSeriesReducers.SUM
|
|
},
|
|
}),
|
|
['TS.MRANGE', '-', '+', 'FILTER_BY_TS', '0', 'FILTER_BY_VALUE', '0', '1',
|
|
'COUNT', '1', 'ALIGN', '-', 'AGGREGATION', 'avg', '1', 'FILTER', 'label=value',
|
|
'GROUPBY', 'label', 'REDUCE', 'sum']
|
|
);
|
|
});
|
|
|
|
testUtils.testWithClient('client.ts.mRange', async client => {
|
|
await client.ts.add('key', 0, 0, {
|
|
LABELS: { label: 'value'}
|
|
});
|
|
|
|
assert.deepEqual(
|
|
await client.ts.mRange('-', '+', 'label=value', {
|
|
COUNT: 1
|
|
}),
|
|
[{
|
|
key: 'key',
|
|
samples: [{
|
|
timestamp: 0,
|
|
value: 0
|
|
}]
|
|
}]
|
|
);
|
|
}, GLOBAL.SERVERS.OPEN);
|
|
});
|