mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Elasticsearch: Unify adhoc variables processing (#65274)
This commit is contained in:
@@ -604,36 +604,6 @@ describe('ElasticQueryBuilder', () => {
|
||||
expect(firstLevel.nested.path).toBe('nested_field');
|
||||
});
|
||||
|
||||
// This test wasn't migrated, as adhoc variables are going to be interpolated before
|
||||
// Or we need to add this to backend query builder (TBD)
|
||||
it('with adhoc filters', () => {
|
||||
const query = builder.build(
|
||||
{
|
||||
refId: 'A',
|
||||
metrics: [{ type: 'count', id: '0' }],
|
||||
timeField: '@timestamp',
|
||||
bucketAggs: [{ type: 'date_histogram', field: '@timestamp', id: '3' }],
|
||||
},
|
||||
[
|
||||
{ key: 'key1', operator: '=', value: 'value1', condition: '' },
|
||||
{ key: 'key2', operator: '=', value: 'value2', condition: '' },
|
||||
{ key: 'key2', operator: '!=', value: 'value2', condition: '' },
|
||||
{ key: 'key3', operator: '<', value: 'value3', condition: '' },
|
||||
{ key: 'key4', operator: '>', value: 'value4', condition: '' },
|
||||
{ key: 'key5', operator: '=~', value: 'value5', condition: '' },
|
||||
{ key: 'key6', operator: '!~', value: 'value6', condition: '' },
|
||||
]
|
||||
);
|
||||
|
||||
expect(query.query.bool.must[0].match_phrase['key1'].query).toBe('value1');
|
||||
expect(query.query.bool.must[1].match_phrase['key2'].query).toBe('value2');
|
||||
expect(query.query.bool.must_not[0].match_phrase['key2'].query).toBe('value2');
|
||||
expect(query.query.bool.filter[1].range['key3'].lt).toBe('value3');
|
||||
expect(query.query.bool.filter[2].range['key4'].gt).toBe('value4');
|
||||
expect(query.query.bool.filter[3].regexp['key5']).toBe('value5');
|
||||
expect(query.query.bool.filter[4].bool.must_not.regexp['key6']).toBe('value6');
|
||||
});
|
||||
|
||||
describe('getTermsQuery', () => {
|
||||
function testGetTermsQuery(queryDef: TermsQuery) {
|
||||
const query = builder.getTermsQuery(queryDef);
|
||||
@@ -769,26 +739,6 @@ describe('ElasticQueryBuilder', () => {
|
||||
).toBeFalsy();
|
||||
});
|
||||
});
|
||||
|
||||
it('with adhoc filters', () => {
|
||||
// TODO: Types for AdHocFilters
|
||||
const adhocFilters = [
|
||||
{ key: 'key1', operator: '=', value: 'value1', condition: '' },
|
||||
{ key: 'key2', operator: '!=', value: 'value2', condition: '' },
|
||||
{ key: 'key3', operator: '<', value: 'value3', condition: '' },
|
||||
{ key: 'key4', operator: '>', value: 'value4', condition: '' },
|
||||
{ key: 'key5', operator: '=~', value: 'value5', condition: '' },
|
||||
{ key: 'key6', operator: '!~', value: 'value6', condition: '' },
|
||||
];
|
||||
const query = builder.getLogsQuery({ refId: 'A' }, 500, adhocFilters);
|
||||
|
||||
expect(query.query.bool.must[0].match_phrase['key1'].query).toBe('value1');
|
||||
expect(query.query.bool.must_not[0].match_phrase['key2'].query).toBe('value2');
|
||||
expect(query.query.bool.filter[1].range['key3'].lt).toBe('value3');
|
||||
expect(query.query.bool.filter[2].range['key4'].gt).toBe('value4');
|
||||
expect(query.query.bool.filter[3].regexp['key5']).toBe('value5');
|
||||
expect(query.query.bool.filter[4].bool.must_not.regexp['key6']).toBe('value6');
|
||||
});
|
||||
});
|
||||
|
||||
describe('Value casting for settings', () => {
|
||||
|
||||
Reference in New Issue
Block a user