influxSeries-specs.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. define([
  2. 'plugins/datasource/influxdb/influxSeries'
  3. ], function(InfluxSeries) {
  4. 'use strict';
  5. describe('when generating timeseries from influxdb response', function() {
  6. describe('given two series', function() {
  7. var options = { series: [
  8. {
  9. name: 'cpu',
  10. tags: {app: 'test', server: 'server1'},
  11. columns: ['time', 'mean'],
  12. values: [["2015-05-18T10:57:05Z", 10], ["2015-05-18T10:57:06Z", 12]]
  13. },
  14. {
  15. name: 'cpu',
  16. tags: {app: 'test2', server: 'server2'},
  17. columns: ['time', 'mean'],
  18. values: [["2015-05-18T10:57:05Z", 15], ["2015-05-18T10:57:06Z", 16]]
  19. }
  20. ]};
  21. describe('and no alias', function() {
  22. it('should generate two time series', function() {
  23. var series = new InfluxSeries(options);
  24. var result = series.getTimeSeries();
  25. expect(result.length).to.be(2);
  26. expect(result[0].target).to.be('cpu {app: test, server: server1}');
  27. expect(result[0].datapoints[0][0]).to.be(10);
  28. expect(result[0].datapoints[0][1]).to.be(1431946625000);
  29. expect(result[0].datapoints[1][0]).to.be(12);
  30. expect(result[0].datapoints[1][1]).to.be(1431946626000);
  31. expect(result[1].target).to.be('cpu {app: test2, server: server2}');
  32. expect(result[1].datapoints[0][0]).to.be(15);
  33. expect(result[1].datapoints[0][1]).to.be(1431946625000);
  34. expect(result[1].datapoints[1][0]).to.be(16);
  35. expect(result[1].datapoints[1][1]).to.be(1431946626000);
  36. });
  37. });
  38. describe('and simple alias', function() {
  39. it('should use alias', function() {
  40. options.alias = 'new series';
  41. var series = new InfluxSeries(options);
  42. var result = series.getTimeSeries();
  43. expect(result[0].target).to.be('new series');
  44. });
  45. });
  46. describe('and alias patterns', function() {
  47. it('should replace patterns', function() {
  48. options.alias = 'alias: $m -> $tag_server ([[measurement]])';
  49. var series = new InfluxSeries(options);
  50. var result = series.getTimeSeries();
  51. expect(result[0].target).to.be('alias: cpu -> server1 (cpu)');
  52. expect(result[1].target).to.be('alias: cpu -> server2 (cpu)');
  53. });
  54. });
  55. });
  56. });
  57. });