diff --git a/public/app/plugins/datasource/influxdb/influx_series.js b/public/app/plugins/datasource/influxdb/influx_series.js index 2815330a683..c422bb87d00 100644 --- a/public/app/plugins/datasource/influxdb/influx_series.js +++ b/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; } }); diff --git a/public/app/plugins/datasource/influxdb/specs/influx_series_specs.ts b/public/app/plugins/datasource/influxdb/specs/influx_series_specs.ts index da6c14719a2..2daa21d7e30 100644 --- a/public/app/plugins/datasource/influxdb/specs/influx_series_specs.ts +++ b/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(2); - expect(annotations[0].tags[0]).to.be('America'); - expect(annotations[0].tags[1]).to.be('backend'); + expect(annotations[0].tags.length).to.be(0); + }); + }); + + 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'); + }); }); }); });