mirror of
https://github.com/grafana/grafana.git
synced 2024-11-29 20:24:18 -06:00
103 lines
3.2 KiB
JavaScript
103 lines
3.2 KiB
JavaScript
define([
|
|
'helpers',
|
|
'plugins/datasource/influxdb_08/datasource',
|
|
'services/backendSrv',
|
|
'services/alertSrv'
|
|
], function(helpers) {
|
|
'use strict';
|
|
|
|
describe('InfluxDatasource', function() {
|
|
var ctx = new helpers.ServiceTestContext();
|
|
|
|
beforeEach(module('grafana.services'));
|
|
beforeEach(ctx.providePhase(['templateSrv']));
|
|
beforeEach(ctx.createService('InfluxDatasource_08'));
|
|
beforeEach(function() {
|
|
ctx.ds = new ctx.service({ url: '', user: 'test', password: 'mupp' });
|
|
});
|
|
|
|
describe('When querying influxdb with one target using query editor target spec', function() {
|
|
var results;
|
|
var urlExpected = "/series?p=mupp&q=select+mean(value)+from+%22test%22"+
|
|
"+where+time+%3E+now()-1h+group+by+time(1s)+order+asc";
|
|
var query = {
|
|
range: { from: 'now-1h', to: 'now' },
|
|
targets: [{ series: 'test', column: 'value', function: 'mean' }],
|
|
interval: '1s'
|
|
};
|
|
|
|
var response = [{
|
|
columns: ["time", "sequence_nr", "value"],
|
|
name: 'test',
|
|
points: [[10, 1, 1]],
|
|
}];
|
|
|
|
beforeEach(function() {
|
|
ctx.$httpBackend.expect('GET', urlExpected).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.value');
|
|
});
|
|
|
|
});
|
|
|
|
describe('When querying influxdb with one raw query', function() {
|
|
var results;
|
|
var urlExpected = "/series?p=mupp&q=select+value+from+series"+
|
|
"+where+time+%3E+now()-1h";
|
|
var query = {
|
|
range: { from: 'now-1h', to: 'now' },
|
|
targets: [{ query: "select value from series where $timeFilter", rawQuery: true }]
|
|
};
|
|
|
|
var response = [];
|
|
|
|
beforeEach(function() {
|
|
ctx.$httpBackend.expect('GET', urlExpected).respond(response);
|
|
ctx.ds.query(query).then(function(data) { results = data; });
|
|
ctx.$httpBackend.flush();
|
|
});
|
|
|
|
it('should generate the correct query', function() {
|
|
ctx.$httpBackend.verifyNoOutstandingExpectation();
|
|
});
|
|
|
|
});
|
|
|
|
describe('When issuing annotation query', function() {
|
|
var results;
|
|
var urlExpected = "/series?p=mupp&q=select+title+from+events.backend_01"+
|
|
"+where+time+%3E+now()-1h";
|
|
|
|
var range = { from: 'now-1h', to: 'now' };
|
|
var annotation = { query: 'select title from events.$server where $timeFilter' };
|
|
var response = [];
|
|
|
|
beforeEach(function() {
|
|
ctx.templateSrv.replace = function(str) {
|
|
return str.replace('$server', 'backend_01');
|
|
};
|
|
ctx.$httpBackend.expect('GET', urlExpected).respond(response);
|
|
ctx.ds.annotationQuery(annotation, range).then(function(data) { results = data; });
|
|
ctx.$httpBackend.flush();
|
|
});
|
|
|
|
it('should generate the correct query', function() {
|
|
ctx.$httpBackend.verifyNoOutstandingExpectation();
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|