Sfoglia il codice sorgente

converted influx-series to TS, converted test to jest

Patrick O'Carroll 8 anni fa
parent
commit
59cebca4b2

+ 0 - 2
public/app/plugins/datasource/influxdb/influx_series.d.ts

@@ -1,2 +0,0 @@
-declare var test: any;
-export default test;

+ 38 - 37
public/app/plugins/datasource/influxdb/influx_series.js → public/app/plugins/datasource/influxdb/influx_series.ts

@@ -1,28 +1,27 @@
-define([
-  'lodash',
-  'app/core/table_model',
-],
-function (_, TableModel) {
-  'use strict';
-
-  function InfluxSeries(options) {
+import _ from 'lodash';
+import TableModel from 'app/core/table_model';
+
+export default class InfluxSeries {
+
+  series: any;
+  alias: any;
+  annotation: any;
+
+  constructor(options) {
     this.series = options.series;
     this.series = options.series;
     this.alias = options.alias;
     this.alias = options.alias;
     this.annotation = options.annotation;
     this.annotation = options.annotation;
   }
   }
 
 
-  var p = InfluxSeries.prototype;
-
-  p.getTimeSeries = function() {
+  getTimeSeries() {
     var output = [];
     var output = [];
-    var self = this;
     var i, j;
     var i, j;
 
 
-    if (self.series.length === 0) {
+    if (this.series.length === 0) {
       return output;
       return output;
     }
     }
 
 
-    _.each(self.series, function(series) {
+    _.each(this.series, (series) => {
       var columns = series.columns.length;
       var columns = series.columns.length;
       var tags = _.map(series.tags, function(value, key) {
       var tags = _.map(series.tags, function(value, key) {
         return key + ': ' + value;
         return key + ': ' + value;
@@ -35,8 +34,8 @@ function (_, TableModel) {
           seriesName = seriesName + '.' + columnName;
           seriesName = seriesName + '.' + columnName;
         }
         }
 
 
-        if (self.alias) {
-          seriesName = self._getSeriesName(series, j);
+        if (this.alias) {
+          seriesName = this._getSeriesName(series, j);
         } else if (series.tags) {
         } else if (series.tags) {
           seriesName = seriesName + ' {' + tags.join(', ') + '}';
           seriesName = seriesName + ' {' + tags.join(', ') + '}';
         }
         }
@@ -53,9 +52,9 @@ function (_, TableModel) {
     });
     });
 
 
     return output;
     return output;
-  };
+  }
 
 
-  p._getSeriesName = function(series, index) {
+  _getSeriesName(series, index) {
     var regex = /\$(\w+)|\[\[([\s\S]+?)\]\]/g;
     var regex = /\$(\w+)|\[\[([\s\S]+?)\]\]/g;
     var segments = series.name.split('.');
     var segments = series.name.split('.');
 
 
@@ -72,30 +71,29 @@ function (_, TableModel) {
       if (!series.tags) { return match; }
       if (!series.tags) { return match; }
       return series.tags[tag];
       return series.tags[tag];
     });
     });
-  };
+  }
 
 
-  p.getAnnotations = function () {
+  getAnnotations() {
     var list = [];
     var list = [];
-    var self = this;
 
 
-    _.each(this.series, function (series) {
+    _.each(this.series, (series) => {
       var titleCol = null;
       var titleCol = null;
       var timeCol = null;
       var timeCol = null;
       var tagsCol = [];
       var tagsCol = [];
       var textCol = null;
       var textCol = null;
 
 
-      _.each(series.columns, function(column, index) {
+      _.each(series.columns, (column, index) => {
         if (column === 'time') { timeCol = index; return; }
         if (column === 'time') { timeCol = index; return; }
         if (column === 'sequence_number') { return; }
         if (column === 'sequence_number') { return; }
         if (!titleCol) { titleCol = index; }
         if (!titleCol) { titleCol = index; }
-        if (column === self.annotation.titleColumn) { titleCol = index; return; }
-        if (_.includes((self.annotation.tagsColumn || '').replace(' ', '').split(","), column)) { tagsCol.push(index); return; }
-        if (column === self.annotation.textColumn) { textCol = index; return; }
+        if (column === this.annotation.titleColumn) { titleCol = index; return; }
+        if (_.includes((this.annotation.tagsColumn || '').replace(' ', '').split(","), column)) { tagsCol.push(index); return; }
+        if (column === this.annotation.textColumn) { textCol = index; return; }
       });
       });
 
 
-      _.each(series.values, function (value) {
+      _.each(series.values, (value) => {
         var data = {
         var data = {
-          annotation: self.annotation,
+          annotation: this.annotation,
           time: + new Date(value[timeCol]),
           time: + new Date(value[timeCol]),
           title: value[titleCol],
           title: value[titleCol],
           // Remove empty values, then split in different tags for comma separated values
           // Remove empty values, then split in different tags for comma separated values
@@ -108,18 +106,17 @@ function (_, TableModel) {
     });
     });
 
 
     return list;
     return list;
-  };
+  }
 
 
-  p.getTable = function() {
-    var table = new TableModel.default();
-    var self = this;
+  getTable() {
+    var table = new TableModel();
     var i, j;
     var i, j;
 
 
-    if (self.series.length === 0) {
+    if (this.series.length === 0) {
       return table;
       return table;
     }
     }
 
 
-    _.each(self.series, function(series, seriesIndex) {
+    _.each(this.series, (series, seriesIndex) => {
 
 
       if (seriesIndex === 0) {
       if (seriesIndex === 0) {
         table.columns.push({text: 'Time', type: 'time'});
         table.columns.push({text: 'Time', type: 'time'});
@@ -151,7 +148,11 @@ function (_, TableModel) {
     });
     });
 
 
     return table;
     return table;
-  };
+  }
+}
+
+
+
+
+
 
 
-  return InfluxSeries;
-});

+ 49 - 50
public/app/plugins/datasource/influxdb/specs/influx_series_specs.ts → public/app/plugins/datasource/influxdb/specs/influx_series.jest.ts

@@ -1,4 +1,3 @@
-import {describe, it, expect} from 'test/lib/common';
 import InfluxSeries from '../influx_series';
 import InfluxSeries from '../influx_series';
 
 
 describe('when generating timeseries from influxdb response', function() {
 describe('when generating timeseries from influxdb response', function() {
@@ -19,24 +18,24 @@ describe('when generating timeseries from influxdb response', function() {
         var series = new InfluxSeries(options);
         var series = new InfluxSeries(options);
         var result = series.getTimeSeries();
         var result = series.getTimeSeries();
 
 
-        expect(result.length).to.be(3);
-        expect(result[0].target).to.be('cpu.mean {app: test, server: server1}');
-        expect(result[0].datapoints[0][0]).to.be(10);
-        expect(result[0].datapoints[0][1]).to.be(1431946625000);
-        expect(result[0].datapoints[1][0]).to.be(20);
-        expect(result[0].datapoints[1][1]).to.be(1431946626000);
-
-        expect(result[1].target).to.be('cpu.max {app: test, server: server1}');
-        expect(result[1].datapoints[0][0]).to.be(11);
-        expect(result[1].datapoints[0][1]).to.be(1431946625000);
-        expect(result[1].datapoints[1][0]).to.be(21);
-        expect(result[1].datapoints[1][1]).to.be(1431946626000);
-
-        expect(result[2].target).to.be('cpu.min {app: test, server: server1}');
-        expect(result[2].datapoints[0][0]).to.be(9);
-        expect(result[2].datapoints[0][1]).to.be(1431946625000);
-        expect(result[2].datapoints[1][0]).to.be(19);
-        expect(result[2].datapoints[1][1]).to.be(1431946626000);
+        expect(result.length).toBe(3);
+        expect(result[0].target).toBe('cpu.mean {app: test, server: server1}');
+        expect(result[0].datapoints[0][0]).toBe(10);
+        expect(result[0].datapoints[0][1]).toBe(1431946625000);
+        expect(result[0].datapoints[1][0]).toBe(20);
+        expect(result[0].datapoints[1][1]).toBe(1431946626000);
+
+        expect(result[1].target).toBe('cpu.max {app: test, server: server1}');
+        expect(result[1].datapoints[0][0]).toBe(11);
+        expect(result[1].datapoints[0][1]).toBe(1431946625000);
+        expect(result[1].datapoints[1][0]).toBe(21);
+        expect(result[1].datapoints[1][1]).toBe(1431946626000);
+
+        expect(result[2].target).toBe('cpu.min {app: test, server: server1}');
+        expect(result[2].datapoints[0][0]).toBe(9);
+        expect(result[2].datapoints[0][1]).toBe(1431946625000);
+        expect(result[2].datapoints[1][0]).toBe(19);
+        expect(result[2].datapoints[1][1]).toBe(1431946626000);
 
 
       });
       });
     });
     });
@@ -47,9 +46,9 @@ describe('when generating timeseries from influxdb response', function() {
         var series = new InfluxSeries(options);
         var series = new InfluxSeries(options);
         var result = series.getTimeSeries();
         var result = series.getTimeSeries();
 
 
-        expect(result[0].target).to.be('new series');
-        expect(result[1].target).to.be('new series');
-        expect(result[2].target).to.be('new series');
+        expect(result[0].target).toBe('new series');
+        expect(result[1].target).toBe('new series');
+        expect(result[2].target).toBe('new series');
       });
       });
 
 
     });
     });
@@ -60,9 +59,9 @@ describe('when generating timeseries from influxdb response', function() {
         var series = new InfluxSeries(options);
         var series = new InfluxSeries(options);
         var result = series.getTimeSeries();
         var result = series.getTimeSeries();
 
 
-        expect(result[0].target).to.be('alias: cpu -> server1 (cpu)');
-        expect(result[1].target).to.be('alias: cpu -> server1 (cpu)');
-        expect(result[2].target).to.be('alias: cpu -> server1 (cpu)');
+        expect(result[0].target).toBe('alias: cpu -> server1 (cpu)');
+        expect(result[1].target).toBe('alias: cpu -> server1 (cpu)');
+        expect(result[2].target).toBe('alias: cpu -> server1 (cpu)');
       });
       });
 
 
     });
     });
@@ -90,8 +89,8 @@ describe('when generating timeseries from influxdb response', function() {
         var series = new InfluxSeries(options);
         var series = new InfluxSeries(options);
         var result = series.getTimeSeries();
         var result = series.getTimeSeries();
 
 
-        expect(result[0].target).to.be('cpu {app: test, server: server1}');
-        expect(result[1].target).to.be('cpu {app: test2, server: server2}');
+        expect(result[0].target).toBe('cpu {app: test, server: server1}');
+        expect(result[1].target).toBe('cpu {app: test2, server: server2}');
       });
       });
     });
     });
 
 
@@ -122,18 +121,18 @@ describe('when generating timeseries from influxdb response', function() {
         var series = new InfluxSeries(options);
         var series = new InfluxSeries(options);
         var result = series.getTimeSeries();
         var result = series.getTimeSeries();
 
 
-        expect(result.length).to.be(2);
-        expect(result[0].target).to.be('cpu.mean {app: test, server: server1}');
-        expect(result[0].datapoints[0][0]).to.be(10);
-        expect(result[0].datapoints[0][1]).to.be(1431946625000);
-        expect(result[0].datapoints[1][0]).to.be(12);
-        expect(result[0].datapoints[1][1]).to.be(1431946626000);
-
-        expect(result[1].target).to.be('cpu.mean {app: test2, server: server2}');
-        expect(result[1].datapoints[0][0]).to.be(15);
-        expect(result[1].datapoints[0][1]).to.be(1431946625000);
-        expect(result[1].datapoints[1][0]).to.be(16);
-        expect(result[1].datapoints[1][1]).to.be(1431946626000);
+        expect(result.length).toBe(2);
+        expect(result[0].target).toBe('cpu.mean {app: test, server: server1}');
+        expect(result[0].datapoints[0][0]).toBe(10);
+        expect(result[0].datapoints[0][1]).toBe(1431946625000);
+        expect(result[0].datapoints[1][0]).toBe(12);
+        expect(result[0].datapoints[1][1]).toBe(1431946626000);
+
+        expect(result[1].target).toBe('cpu.mean {app: test2, server: server2}');
+        expect(result[1].datapoints[0][0]).toBe(15);
+        expect(result[1].datapoints[0][1]).toBe(1431946625000);
+        expect(result[1].datapoints[1][0]).toBe(16);
+        expect(result[1].datapoints[1][1]).toBe(1431946626000);
       });
       });
     });
     });
 
 
@@ -143,7 +142,7 @@ describe('when generating timeseries from influxdb response', function() {
         var series = new InfluxSeries(options);
         var series = new InfluxSeries(options);
         var result = series.getTimeSeries();
         var result = series.getTimeSeries();
 
 
-        expect(result[0].target).to.be('new series');
+        expect(result[0].target).toBe('new series');
       });
       });
 
 
     });
     });
@@ -154,8 +153,8 @@ describe('when generating timeseries from influxdb response', function() {
         var series = new InfluxSeries(options);
         var series = new InfluxSeries(options);
         var result = series.getTimeSeries();
         var result = series.getTimeSeries();
 
 
-        expect(result[0].target).to.be('alias: cpu -> server1 (cpu)');
-        expect(result[1].target).to.be('alias: cpu -> server2 (cpu)');
+        expect(result[0].target).toBe('alias: cpu -> server1 (cpu)');
+        expect(result[1].target).toBe('alias: cpu -> server2 (cpu)');
       });
       });
 
 
     });
     });
@@ -180,7 +179,7 @@ describe('when generating timeseries from influxdb response', function() {
       var series = new InfluxSeries(options);
       var series = new InfluxSeries(options);
       var result = series.getTimeSeries();
       var result = series.getTimeSeries();
 
 
-      expect(result[0].target).to.be('alias: prod -> count');
+      expect(result[0].target).toBe('alias: prod -> count');
     });
     });
   });
   });
 
 
@@ -201,9 +200,9 @@ describe('when generating timeseries from influxdb response', function() {
       var series = new InfluxSeries(options);
       var series = new InfluxSeries(options);
       var table = series.getTable();
       var table = series.getTable();
 
 
-      expect(table.type).to.be('table');
-      expect(table.columns.length).to.be(5);
-      expect(table.rows[0]).to.eql([1431946625000, 'Africa', 'server2', 23, 10]);
+      expect(table.type).toBe('table');
+      expect(table.columns.length).toBe(5);
+      expect(table.rows[0]).toEqual([1431946625000, 'Africa', 'server2', 23, 10]);
     });
     });
   });
   });
 
 
@@ -228,7 +227,7 @@ describe('when generating timeseries from influxdb response', function() {
         var series = new InfluxSeries(options);
         var series = new InfluxSeries(options);
         var annotations = series.getAnnotations();
         var annotations = series.getAnnotations();
 
 
-        expect(annotations[0].tags.length).to.be(0);
+        expect(annotations[0].tags.length).toBe(0);
       });
       });
     });
     });
 
 
@@ -254,9 +253,9 @@ describe('when generating timeseries from influxdb response', function() {
         var series = new InfluxSeries(options);
         var series = new InfluxSeries(options);
         var annotations = series.getAnnotations();
         var annotations = series.getAnnotations();
 
 
-        expect(annotations[0].tags.length).to.be(2);
-        expect(annotations[0].tags[0]).to.be('America');
-        expect(annotations[0].tags[1]).to.be('backend');
+        expect(annotations[0].tags.length).toBe(2);
+        expect(annotations[0].tags[0]).toBe('America');
+        expect(annotations[0].tags[1]).toBe('backend');
       });
       });
     });
     });
   });
   });