Files
analytics/loadTest/docker/grafana/plugins/datadog/spec/datasource_spec.js
T
2026-06-23 11:18:54 -05:00

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();
});
});
});