Browse Source

fix(influxdb): fixes bug with empty tagColumn for annotations

bergquist 9 years ago
parent
commit
6a161216de

+ 1 - 1
public/app/plugins/datasource/influxdb/influx_series.js

@@ -89,7 +89,7 @@ function (_, TableModel) {
         if (column === 'sequence_number') { return; }
         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 (_.includes((self.annotation.tagsColumn || '').replace(' ', '').split(","), column)) { tagsCol.push(index); return; }
         if (column === self.annotation.textColumn) { textCol = index; return; }
       });
 

+ 48 - 22
public/app/plugins/datasource/influxdb/specs/influx_series_specs.ts

@@ -208,30 +208,56 @@ describe('when generating timeseries from influxdb response', function() {
   });
 
   describe('given annotation response', function() {
-    var options = {
-      alias: '',
-      annotation: {
-        tagsColumn: 'datacenter, source'
-      },
-      series: [
-        {
-          name: "logins.count",
-          tags:  {datacenter: 'Africa', server: 'server2'},
-          columns: ["time", "datacenter", "hostname", "source", "value"],
-          values: [
-            [1481549440372, "America", "10.1.100.10", "backend", 215.7432653659507],
-          ]
-        }
-      ]
-    };
+    describe('with empty tagsColumn', function() {
+      var options = {
+        alias: '',
+        annotation: {},
+        series: [
+          {
+            name: "logins.count",
+            tags:  {datacenter: 'Africa', server: 'server2'},
+            columns: ["time", "datacenter", "hostname", "source", "value"],
+            values: [
+              [1481549440372, "America", "10.1.100.10", "backend", 215.7432653659507],
+            ]
+          }
+        ]
+      };
+
+      it('should multiple tags', function() {
+        var series = new InfluxSeries(options);
+        var annotations = series.getAnnotations();
 
-    it('should multiple tags', function() {
-      var series = new InfluxSeries(options);
-      var annotations = series.getAnnotations();
+        expect(annotations[0].tags.length).to.be(0);
+      });
+    });
 
-      expect(annotations[0].tags.length).to.be(2);
-      expect(annotations[0].tags[0]).to.be('America');
-      expect(annotations[0].tags[1]).to.be('backend');
+    describe('given annotation response', function() {
+      var options = {
+        alias: '',
+        annotation: {
+          tagsColumn: 'datacenter, source'
+        },
+        series: [
+          {
+            name: "logins.count",
+            tags:  {datacenter: 'Africa', server: 'server2'},
+            columns: ["time", "datacenter", "hostname", "source", "value"],
+            values: [
+              [1481549440372, "America", "10.1.100.10", "backend", 215.7432653659507],
+            ]
+          }
+        ]
+      };
+
+      it('should multiple tags', function() {
+        var series = new InfluxSeries(options);
+        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');
+      });
     });
   });
 });