|
|
|
@ -1,6 +1,6 @@ |
|
|
|
|
import moment from 'moment'; |
|
|
|
|
import { MssqlDatasource } from '../datasource'; |
|
|
|
|
import { TemplateSrvStub } from 'test/specs/helpers'; |
|
|
|
|
import { TemplateSrvStub, TimeSrvStub } from 'test/specs/helpers'; |
|
|
|
|
import { CustomVariable } from 'app/features/templating/custom_variable'; |
|
|
|
|
import q from 'q'; |
|
|
|
|
|
|
|
|
@ -8,13 +8,14 @@ describe('MSSQLDatasource', () => { |
|
|
|
|
const ctx: any = { |
|
|
|
|
backendSrv: {}, |
|
|
|
|
templateSrv: new TemplateSrvStub(), |
|
|
|
|
timeSrv: new TimeSrvStub(), |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
beforeEach(() => { |
|
|
|
|
ctx.$q = q; |
|
|
|
|
ctx.instanceSettings = { name: 'mssql' }; |
|
|
|
|
|
|
|
|
|
ctx.ds = new MssqlDatasource(ctx.instanceSettings, ctx.backendSrv, ctx.$q, ctx.templateSrv); |
|
|
|
|
ctx.ds = new MssqlDatasource(ctx.instanceSettings, ctx.backendSrv, ctx.$q, ctx.templateSrv, ctx.timeSrv); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
describe('When performing annotationQuery', () => { |
|
|
|
@ -188,6 +189,49 @@ describe('MSSQLDatasource', () => { |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
describe('When performing metricFindQuery', () => { |
|
|
|
|
let results; |
|
|
|
|
const query = 'select * from atable'; |
|
|
|
|
const response = { |
|
|
|
|
results: { |
|
|
|
|
tempvar: { |
|
|
|
|
meta: { |
|
|
|
|
rowCount: 1, |
|
|
|
|
}, |
|
|
|
|
refId: 'tempvar', |
|
|
|
|
tables: [ |
|
|
|
|
{ |
|
|
|
|
columns: [{ text: 'title' }], |
|
|
|
|
rows: [['aTitle']], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
}; |
|
|
|
|
const time = { |
|
|
|
|
from: moment(1521545610656), |
|
|
|
|
to: moment(1521546251185) |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
beforeEach(() => { |
|
|
|
|
ctx.timeSrv.setTime(time); |
|
|
|
|
|
|
|
|
|
ctx.backendSrv.datasourceRequest = options => { |
|
|
|
|
results = options.data; |
|
|
|
|
return ctx.$q.when({ data: response, status: 200 }); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
return ctx.ds.metricFindQuery(query); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should pass timerange to datasourceRequest', () => { |
|
|
|
|
expect(results.from).toBe(time.from.valueOf().toString()); |
|
|
|
|
expect(results.to).toBe(time.to.valueOf().toString()); |
|
|
|
|
expect(results.queries.length).toBe(1); |
|
|
|
|
expect(results.queries[0].rawSql).toBe(query); |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
describe('When interpolating variables', () => { |
|
|
|
|
beforeEach(() => { |
|
|
|
|
ctx.variable = new CustomVariable({}, {}); |
|
|
|
|