response_parser_specs.ts 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. import _ from 'lodash';
  2. import {describe, beforeEach, it, sinon, expect} from 'test/lib/common';
  3. import ResponseParser from '../response_parser';
  4. describe("influxdb response parser", () => {
  5. this.parser = new ResponseParser();
  6. describe("SHOW TAG response", () => {
  7. var query = 'SHOW TAG KEYS FROM "cpu"';
  8. describe("response from 0.10.0", () => {
  9. var response = {
  10. "results": [
  11. {
  12. "series": [
  13. {
  14. "name": "cpu",
  15. "columns": ["tagKey"],
  16. "values": [ ["datacenter"], ["hostname"], ["source"] ]
  17. }
  18. ]
  19. }
  20. ]
  21. };
  22. var result = this.parser.parse(query, response);
  23. it("expects three results", () => {
  24. expect(_.size(result)).to.be(3);
  25. });
  26. });
  27. describe("response from 0.11.0", () => {
  28. var response = {
  29. "results": [
  30. {
  31. "series": [
  32. {
  33. "name": "cpu",
  34. "columns": ["tagKey"],
  35. "values": [ ["datacenter"], ["hostname"], ["source"] ]
  36. }
  37. ]
  38. }
  39. ]
  40. };
  41. var result = this.parser.parse(query, response);
  42. it("expects three results", () => {
  43. expect(_.size(result)).to.be(3);
  44. });
  45. });
  46. });
  47. describe("SHOW TAG VALUES response", () => {
  48. var query = 'SHOW TAG VALUES FROM "cpu" WITH KEY = "hostname"';
  49. describe("response from 0.10.0", () => {
  50. var response = {
  51. "results": [
  52. {
  53. "series": [
  54. {
  55. "name": "hostnameTagValues",
  56. "columns": ["hostname"],
  57. "values": [ ["server1"], ["server2"] ]
  58. }
  59. ]
  60. }
  61. ]
  62. };
  63. var result = this.parser.parse(query, response);
  64. it("should get two responses", () => {
  65. expect(_.size(result)).to.be(2);
  66. expect(result[0].text).to.be("server1");
  67. expect(result[1].text).to.be("server2");
  68. });
  69. });
  70. describe("response from 0.11.0", () => {
  71. var response = {
  72. "results": [
  73. {
  74. "series": [
  75. {
  76. "name": "cpu",
  77. "columns": [ "key", "value"],
  78. "values": [ [ "source", "site" ], [ "source", "api" ] ]
  79. }
  80. ]
  81. }
  82. ]
  83. };
  84. var result = this.parser.parse(query, response);
  85. it("should get two responses", () => {
  86. expect(_.size(result)).to.be(2);
  87. expect(result[0].text).to.be('site');
  88. expect(result[1].text).to.be('api');
  89. });
  90. });
  91. });
  92. describe("SHOW FIELD response", () => {
  93. var query = 'SHOW FIELD KEYS FROM "cpu"';
  94. describe("response from 0.10.0", () => {
  95. var response = {
  96. "results": [
  97. {
  98. "series": [
  99. {
  100. "name": "measurements",
  101. "columns": ["name"],
  102. "values": [
  103. ["cpu"], ["derivative"], ["logins.count"], ["logs"], ["payment.ended"], ["payment.started"]
  104. ]
  105. }
  106. ]
  107. }
  108. ]
  109. };
  110. var result = this.parser.parse(query, response);
  111. it("should get two responses", () => {
  112. expect(_.size(result)).to.be(6);
  113. });
  114. });
  115. describe("response from 0.11.0", () => {
  116. var response = {
  117. "results": [
  118. {
  119. "series": [
  120. {
  121. "name": "cpu",
  122. "columns": ["fieldKey"],
  123. "values": [ [ "value"] ]
  124. }
  125. ]
  126. }
  127. ]
  128. };
  129. var result = this.parser.parse(query, response);
  130. it("should get two responses", () => {
  131. expect(_.size(result)).to.be(1);
  132. });
  133. });
  134. });
  135. });