67 lines
1.6 KiB
JavaScript
67 lines
1.6 KiB
JavaScript
import {Datasource} from "../module";
|
|
import Q from "q";
|
|
import sinon from 'sinon';
|
|
|
|
describe('DataDogDatasource', () => {
|
|
let ctx = {};
|
|
|
|
beforeEach(function() {
|
|
ctx.$q = Q;
|
|
ctx.backendSrv = {
|
|
datasourceRequest: () => {
|
|
return ctx.$q.when({
|
|
status: 200
|
|
});
|
|
}
|
|
};
|
|
ctx.templateSrv = {
|
|
replace: (str) => str,
|
|
getAdhocFilters: () => []
|
|
};
|
|
|
|
let instanceSettings = {
|
|
url: 'https://app.datadoghq.com/api/v1',
|
|
jsonData: {
|
|
api_key: '0000deadbeaf0000',
|
|
app_key: '0000abcd0000abcd'
|
|
}
|
|
};
|
|
ctx.ds = new Datasource(instanceSettings, ctx.backendSrv, ctx.templateSrv);
|
|
});
|
|
|
|
describe('When doing DataDog API request', () => {
|
|
beforeEach(function() {
|
|
let targets = [
|
|
{ query: 'avg:system.load.5{*}', rawQuery: true }
|
|
];
|
|
|
|
ctx.options = {
|
|
range: {
|
|
from: 12340000,
|
|
to: 12340000
|
|
},
|
|
targets: targets
|
|
};
|
|
});
|
|
|
|
it('should send request with proper params', (done) => {
|
|
let expected_params = {
|
|
method: 'GET',
|
|
url: 'https://app.datadoghq.com/api/v1/query',
|
|
params: {
|
|
api_key: '0000deadbeaf0000',
|
|
application_key: '0000abcd0000abcd',
|
|
from: 12340,
|
|
to: 12340,
|
|
query: 'avg:system.load.5{*}'
|
|
}
|
|
};
|
|
let datasourceRequest = sinon.spy(ctx.ds.backendSrv, 'datasourceRequest');
|
|
|
|
ctx.ds.query(ctx.options);
|
|
expect(datasourceRequest).to.have.been.calledWith(expected_params);
|
|
done();
|
|
});
|
|
});
|
|
});
|