mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
added more graphite target controller tests
This commit is contained in:
parent
76aab2a2ac
commit
c3a6ae1622
66
package.json
66
package.json
@ -10,44 +10,44 @@
|
|||||||
"url": "http://github.com/torkelo/grafana.git"
|
"url": "http://github.com/torkelo/grafana.git"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"rjs-build-analysis": "0.0.3",
|
|
||||||
"grunt": "~0.4.0",
|
|
||||||
"grunt-ngmin": "0.0.3",
|
|
||||||
"grunt-contrib-less": "~0.7.0",
|
|
||||||
"grunt-contrib-copy": "~0.5.0",
|
|
||||||
"grunt-git-describe": "~2.3.2",
|
|
||||||
"grunt-contrib-clean": "~0.5.0",
|
|
||||||
"grunt-contrib-cssmin": "~0.6.1",
|
|
||||||
"grunt-contrib-jshint": "~0.10.0",
|
|
||||||
"grunt-string-replace": "~0.2.4",
|
|
||||||
"grunt-contrib-htmlmin": "~0.1.3",
|
|
||||||
"grunt-contrib-requirejs": "~0.4.1",
|
|
||||||
"grunt-angular-templates": "^0.5.5",
|
|
||||||
"grunt-contrib-compress": "~0.5.2",
|
|
||||||
"grunt-contrib-uglify": "~0.2.4",
|
|
||||||
"load-grunt-tasks": "~0.2.0",
|
|
||||||
"glob": "~3.2.7",
|
|
||||||
"grunt-contrib-connect": "~0.5.0",
|
|
||||||
"mocha": "~1.16.1",
|
|
||||||
"expect.js": "~0.2.0",
|
"expect.js": "~0.2.0",
|
||||||
"karma-script-launcher": "~0.1.0",
|
"glob": "~3.2.7",
|
||||||
"karma-firefox-launcher": "~0.1.3",
|
"grunt": "~0.4.0",
|
||||||
|
"grunt-angular-templates": "^0.5.5",
|
||||||
|
"grunt-cli": "~0.1.13",
|
||||||
|
"grunt-contrib-clean": "~0.5.0",
|
||||||
|
"grunt-contrib-compress": "~0.5.2",
|
||||||
|
"grunt-contrib-concat": "^0.4.0",
|
||||||
|
"grunt-contrib-connect": "~0.5.0",
|
||||||
|
"grunt-contrib-copy": "~0.5.0",
|
||||||
|
"grunt-contrib-cssmin": "~0.6.1",
|
||||||
|
"grunt-contrib-htmlmin": "~0.1.3",
|
||||||
|
"grunt-contrib-jshint": "~0.10.0",
|
||||||
|
"grunt-contrib-less": "~0.7.0",
|
||||||
|
"grunt-contrib-requirejs": "~0.4.1",
|
||||||
|
"grunt-contrib-uglify": "~0.2.4",
|
||||||
|
"grunt-filerev": "^0.2.1",
|
||||||
|
"grunt-git-describe": "~2.3.2",
|
||||||
|
"grunt-karma": "~0.8.3",
|
||||||
|
"grunt-ngmin": "0.0.3",
|
||||||
|
"grunt-string-replace": "~0.2.4",
|
||||||
|
"grunt-usemin": "^2.1.1",
|
||||||
|
"jshint-stylish": "~0.1.5",
|
||||||
|
"karma": "~0.12.16",
|
||||||
"karma-chrome-launcher": "~0.1.4",
|
"karma-chrome-launcher": "~0.1.4",
|
||||||
|
"karma-coffee-preprocessor": "~0.1.2",
|
||||||
|
"karma-expect": "~1.1.0",
|
||||||
|
"karma-firefox-launcher": "~0.1.3",
|
||||||
"karma-html2js-preprocessor": "~0.1.0",
|
"karma-html2js-preprocessor": "~0.1.0",
|
||||||
"karma-jasmine": "~0.2.2",
|
"karma-jasmine": "~0.2.2",
|
||||||
"requirejs": "~2.1.14",
|
|
||||||
"karma-requirejs": "~0.2.1",
|
|
||||||
"karma-coffee-preprocessor": "~0.1.2",
|
|
||||||
"karma-phantomjs-launcher": "~0.1.1",
|
|
||||||
"karma": "~0.12.16",
|
|
||||||
"grunt-karma": "~0.8.3",
|
|
||||||
"karma-mocha": "~0.1.4",
|
"karma-mocha": "~0.1.4",
|
||||||
"karma-expect": "~1.1.0",
|
"karma-phantomjs-launcher": "~0.1.1",
|
||||||
"grunt-cli": "~0.1.13",
|
"karma-requirejs": "~0.2.1",
|
||||||
"jshint-stylish": "~0.1.5",
|
"karma-script-launcher": "~0.1.0",
|
||||||
"grunt-contrib-concat": "^0.4.0",
|
"load-grunt-tasks": "~0.2.0",
|
||||||
"grunt-usemin": "^2.1.1",
|
"mocha": "~1.16.1",
|
||||||
"grunt-filerev": "^0.2.1"
|
"requirejs": "~2.1.14",
|
||||||
|
"rjs-build-analysis": "0.0.3"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "0.10.x",
|
"node": "0.10.x",
|
||||||
|
@ -249,7 +249,7 @@ function (angular, _, config, gfunc, Parser) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for(var i = 0; i < $scope.segments.length; i++) {
|
for(var i = 0; i < $scope.segments.length; i++) {
|
||||||
if ($scope.segments[i].val.indexOf('*') >= 0) {
|
if ($scope.segments[i].value.indexOf('*') >= 0) {
|
||||||
func.params[0] = i;
|
func.params[0] = i;
|
||||||
func.added = false;
|
func.added = false;
|
||||||
$scope.targetChanged();
|
$scope.targetChanged();
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
"expect": true,
|
"expect": true,
|
||||||
"it": true,
|
"it": true,
|
||||||
"describe": true,
|
"describe": true,
|
||||||
|
"sinon": true,
|
||||||
"define": true,
|
"define": true,
|
||||||
"module": true,
|
"module": true,
|
||||||
"beforeEach": true,
|
"beforeEach": true,
|
||||||
@ -35,4 +36,4 @@
|
|||||||
"require": true,
|
"require": true,
|
||||||
"setImmediate": true
|
"setImmediate": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,6 @@ module.exports = function(config) {
|
|||||||
autoWatch: true,
|
autoWatch: true,
|
||||||
browsers: ['Chrome'],
|
browsers: ['Chrome'],
|
||||||
captureTimeout: 60000,
|
captureTimeout: 60000,
|
||||||
singleRun: false
|
singleRun: false,
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
define([
|
define([
|
||||||
'./helpers',
|
'./helpers',
|
||||||
|
'services/graphite/gfunc',
|
||||||
'controllers/graphiteTarget'
|
'controllers/graphiteTarget'
|
||||||
], function(helpers) {
|
], function(helpers, gfunc) {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
describe('GraphiteTargetCtrl', function() {
|
describe('GraphiteTargetCtrl', function() {
|
||||||
@ -11,25 +12,78 @@ define([
|
|||||||
beforeEach(ctx.providePhase());
|
beforeEach(ctx.providePhase());
|
||||||
beforeEach(ctx.createControllerPhase('GraphiteTargetCtrl'));
|
beforeEach(ctx.createControllerPhase('GraphiteTargetCtrl'));
|
||||||
|
|
||||||
|
beforeEach(function() {
|
||||||
|
ctx.scope.target = {
|
||||||
|
target: 'aliasByNode(scaleToSeconds(test.prod.*,1),2)'
|
||||||
|
};
|
||||||
|
|
||||||
|
ctx.scope.datasource = ctx.datasource;
|
||||||
|
ctx.scope.datasource.metricFindQuery = sinon.stub().returns(ctx.$q.when([]));
|
||||||
|
});
|
||||||
|
|
||||||
describe('init', function() {
|
describe('init', function() {
|
||||||
beforeEach(function() {
|
beforeEach(function() {
|
||||||
ctx.scope.target = {
|
|
||||||
target: 'aliasByNode(scaleToSeconds(test.prod.*,1),2)'
|
|
||||||
};
|
|
||||||
|
|
||||||
ctx.scope.datasource = ctx.datasource;
|
|
||||||
ctx.scope.datasource.metricFindQuery = sinon.stub().returns(ctx.$q.when([]));
|
|
||||||
ctx.scope.init();
|
ctx.scope.init();
|
||||||
|
ctx.scope.$digest();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should validate metric key exists', function() {
|
it('should validate metric key exists', function() {
|
||||||
expect(ctx.scope.datasource.metricFindQuery.getCall(0).args[1]).to.be('test.prod.*');
|
expect(ctx.scope.datasource.metricFindQuery.getCall(0).args[1]).to.be('test.prod.*');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should delete last segment if no metrics are found', function() {
|
||||||
|
expect(ctx.scope.segments[2].value).to.be('select metric');
|
||||||
|
});
|
||||||
|
|
||||||
it('should parse expression and build function model', function() {
|
it('should parse expression and build function model', function() {
|
||||||
expect(ctx.scope.functions.length).to.be(2);
|
expect(ctx.scope.functions.length).to.be(2);
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('when adding function', function() {
|
||||||
|
beforeEach(function() {
|
||||||
|
ctx.scope.target.target = 'test.prod.*.count';
|
||||||
|
ctx.scope.datasource.metricFindQuery.returns(ctx.$q.when([{expandable: false}]));
|
||||||
|
ctx.scope.init();
|
||||||
|
ctx.scope.$digest();
|
||||||
|
|
||||||
|
ctx.scope.$parent = { get_data: sinon.spy() };
|
||||||
|
ctx.scope.addFunction(gfunc.getFuncDef('aliasByNode'));
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should add function with correct node number', function() {
|
||||||
|
expect(ctx.scope.functions[0].params[0]).to.be(2);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should update target', function() {
|
||||||
|
expect(ctx.scope.target.target).to.be('aliasByNode(test.prod.*.count,2)');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should call get_data', function() {
|
||||||
|
expect(ctx.scope.$parent.get_data.called).to.be(true);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('targetChanged', function() {
|
||||||
|
beforeEach(function() {
|
||||||
|
ctx.scope.datasource.metricFindQuery.returns(ctx.$q.when([{expandable: false}]));
|
||||||
|
ctx.scope.init();
|
||||||
|
ctx.scope.$digest();
|
||||||
|
|
||||||
|
ctx.scope.$parent = { get_data: sinon.spy() };
|
||||||
|
ctx.scope.target.target = '';
|
||||||
|
ctx.scope.targetChanged();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should rebuld target after expression model', function() {
|
||||||
|
expect(ctx.scope.target.target).to.be('aliasByNode(scaleToSeconds(test.prod.*,1),2)');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should call get_data', function() {
|
||||||
|
expect(ctx.scope.$parent.get_data.called).to.be(true);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user