mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
4075: Interpolate tempvar on alias
This commit is contained in:
parent
032d69fc21
commit
e1f6870fce
@ -254,6 +254,10 @@ export class ElasticDatasource {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (target.alias) {
|
||||
target.alias = this.templateSrv.replace(target.alias, options.scopedVars, 'lucene');
|
||||
}
|
||||
|
||||
const queryString = this.templateSrv.replace(target.query || '*', options.scopedVars, 'lucene');
|
||||
const queryObj = this.queryBuilder.build(target, adhocFilters, queryString);
|
||||
const esQuery = angular.toJson(queryObj);
|
||||
|
@ -16,7 +16,13 @@ describe('ElasticDatasource', function(this: any) {
|
||||
};
|
||||
|
||||
const templateSrv = {
|
||||
replace: jest.fn(text => text),
|
||||
replace: jest.fn(text => {
|
||||
if (text.startsWith("$")) {
|
||||
return `resolvedVariable`;
|
||||
} else {
|
||||
return text;
|
||||
}
|
||||
}),
|
||||
getAdhocFilters: jest.fn(() => []),
|
||||
};
|
||||
|
||||
@ -67,7 +73,7 @@ describe('ElasticDatasource', function(this: any) {
|
||||
});
|
||||
|
||||
describe('When issuing metric query with interval pattern', () => {
|
||||
let requestOptions, parts, header;
|
||||
let requestOptions, parts, header, query;
|
||||
|
||||
beforeEach(() => {
|
||||
createDatasource({
|
||||
@ -81,19 +87,22 @@ describe('ElasticDatasource', function(this: any) {
|
||||
return Promise.resolve({ data: { responses: [] } });
|
||||
});
|
||||
|
||||
ctx.ds.query({
|
||||
query = {
|
||||
range: {
|
||||
from: moment.utc([2015, 4, 30, 10]),
|
||||
to: moment.utc([2015, 5, 1, 10]),
|
||||
},
|
||||
targets: [
|
||||
{
|
||||
alias: "$varAlias",
|
||||
bucketAggs: [],
|
||||
metrics: [{ type: 'raw_document' }],
|
||||
query: 'escape\\:test',
|
||||
},
|
||||
],
|
||||
});
|
||||
};
|
||||
|
||||
ctx.ds.query(query);
|
||||
|
||||
parts = requestOptions.data.split('\n');
|
||||
header = angular.fromJson(parts[0]);
|
||||
@ -103,6 +112,10 @@ describe('ElasticDatasource', function(this: any) {
|
||||
expect(header.index).toEqual(['asd-2015.05.30', 'asd-2015.05.31', 'asd-2015.06.01']);
|
||||
});
|
||||
|
||||
it('should resolve the alias variable', () => {
|
||||
expect(query.targets[0].alias).toEqual('resolvedVariable');
|
||||
});
|
||||
|
||||
it('should json escape lucene query', () => {
|
||||
const body = angular.fromJson(parts[1]);
|
||||
expect(body.query.bool.filter[1].query_string.query).toBe('escape\\:test');
|
||||
|
Loading…
Reference in New Issue
Block a user