Просмотр исходного кода

Small fix to graphiteDatasource and sending cacheTimeout undefined, reintroduced this bug yesterday, added unit test so it should not appear again

Torkel Ödegaard 11 лет назад
Родитель
Сommit
65af872ec6

+ 3 - 1
src/app/services/graphite/graphiteDatasource.js

@@ -251,7 +251,9 @@ function (angular, _, $, config, kbn, moment) {
 
       _.each(options, function (value, key) {
         if ($.inArray(key, graphite_options) === -1) { return; }
-        clean_options.push(key + "=" + encodeURIComponent(value));
+        if (value) {
+          clean_options.push(key + "=" + encodeURIComponent(value));
+        }
       });
 
       return clean_options;

+ 6 - 1
src/test/specs/graphiteDatasource-specs.js

@@ -18,7 +18,7 @@ define([
       var query = {
         range: { from: 'now-1h', to: 'now' },
         targets: [{ target: 'prod1.count' }, {target: 'prod2.count'}],
-        maxDataPoints: 500
+        maxDataPoints: 500,
       };
 
       var response = [{ target: 'prod1.count', points: [[10, 1], [12,1]], }];
@@ -46,6 +46,11 @@ define([
         expect(params).to.contain('until=now');
       });
 
+      it('should exclude undefined params', function() {
+        var params = request.split('&');
+        expect(params).to.not.contain('cacheTimeout=undefined');
+      });
+
       it('should return series list', function() {
         expect(results.data.length).to.be(1);
         expect(results.data[0].target).to.be('prod1.count');