|
|
|
@ -121,6 +121,48 @@ describe('ElasticDatasource', () => { |
|
|
|
|
expect(gte).toBe('1663740610000'); // 2022-09-21T06:10:10Z
|
|
|
|
|
expect(lte).toBe('1663999821000'); // 2022-09-24T06:10:21Z
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should return fields properly', async () => { |
|
|
|
|
const ds = createElasticDatasource({ jsonData: { timeField: '@timestamp' } }); |
|
|
|
|
const getTagValuesData = { |
|
|
|
|
responses: [ |
|
|
|
|
{ |
|
|
|
|
aggregations: { |
|
|
|
|
'1': { |
|
|
|
|
buckets: [ |
|
|
|
|
{ |
|
|
|
|
doc_count: 10, |
|
|
|
|
key: 'foo', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
doc_count: 20, |
|
|
|
|
key: 6, |
|
|
|
|
key_as_string: 'six', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
doc_count: 30, |
|
|
|
|
key: 7, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}; |
|
|
|
|
const postResource = jest.spyOn(ds, 'postResourceRequest').mockResolvedValue(getTagValuesData); |
|
|
|
|
const values = await ds.getTagValues({ key: 'test', timeRange: timeRangeMock, filters: [] }); |
|
|
|
|
expect(postResource).toHaveBeenCalledTimes(1); |
|
|
|
|
|
|
|
|
|
expect(values.length).toBe(3); |
|
|
|
|
expect(values[0].text).toBe('foo'); |
|
|
|
|
expect(values[0].value).toBe('foo'); |
|
|
|
|
|
|
|
|
|
expect(values[1].text).toBe('six'); |
|
|
|
|
expect(values[1].value).toBe('6'); |
|
|
|
|
|
|
|
|
|
expect(values[2].text).toBe('7'); |
|
|
|
|
expect(values[2].value).toBe('7'); |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
describe('query', () => { |
|
|
|
@ -1078,6 +1120,10 @@ describe('ElasticDatasource', () => { |
|
|
|
|
key: 'test2', |
|
|
|
|
key_as_string: 'test2_as_string', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
doc_count: 2, |
|
|
|
|
key: 5, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
@ -1102,13 +1148,14 @@ describe('ElasticDatasource', () => { |
|
|
|
|
|
|
|
|
|
it('should get results', async () => { |
|
|
|
|
const { results } = await runScenario(); |
|
|
|
|
expect(results.length).toEqual(2); |
|
|
|
|
expect(results.length).toEqual(3); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should use key or key_as_string', async () => { |
|
|
|
|
it('should use key, key_as_string, or cast key to string', async () => { |
|
|
|
|
const { results } = await runScenario(); |
|
|
|
|
expect(results[0].text).toEqual('test'); |
|
|
|
|
expect(results[1].text).toEqual('test2_as_string'); |
|
|
|
|
expect(results[2].text).toEqual('5'); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should not set search type to count', async () => { |
|
|
|
|