Add a basic test of KairosDBDatasource

This commit is contained in:
Masaori Koshiba 2015-04-19 23:40:48 +09:00
parent 05c27d8340
commit dbc07827cf
2 changed files with 64 additions and 1 deletions

View File

@ -0,0 +1,63 @@
define([
'helpers',
'plugins/datasource/kairosdb/datasource'
], function(helpers) {
'use strict';
describe('KairosDBDatasource', function() {
var ctx = new helpers.ServiceTestContext();
beforeEach(module('grafana.services'));
beforeEach(ctx.providePhase(['templateSrv']));
beforeEach(ctx.createService('KairosDBDatasource'));
beforeEach(function() {
ctx.ds = new ctx.service({ url: ''});
});
describe('When querying kairosdb with one target using query editor target spec', function() {
var results;
var urlExpected = "/api/v1/datapoints/query";
var bodyExpected = {
metrics: [{ name: "test" }],
cache_time: 0,
start_relative: {
value: "1",
unit: "hours"
}
};
var query = {
range: { from: 'now-1h', to: 'now' },
targets: [{ metric: 'test', downsampling: '(NONE)'}]
};
var response = {
queries: [{
sample_size: 60,
results: [{
name: "test",
values: [[1420070400000, 1]]
}]
}]
};
beforeEach(function() {
ctx.$httpBackend.expect('POST', urlExpected, bodyExpected).respond(response);
ctx.ds.query(query).then(function(data) { results = data; });
ctx.$httpBackend.flush();
});
it('should generate the correct query', function() {
ctx.$httpBackend.verifyNoOutstandingExpectation();
});
it('should return series list', function() {
expect(results.data.length).to.be(1);
expect(results.data[0].target).to.be('test');
});
});
});
});

View File

@ -128,6 +128,7 @@ require([
'specs/influxQueryBuilder-specs',
'specs/influx09-querybuilder-specs',
'specs/influxdb-datasource-specs',
'specs/kairosdb-datasource-specs',
'specs/graph-ctrl-specs',
'specs/graph-specs',
'specs/graph-tooltip-specs',
@ -150,4 +151,3 @@ require([
window.__karma__.start();
});
});