| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- import _ from 'lodash';
- import ResponseParser from '../response_parser';
- describe('influxdb response parser', () => {
- const parser = new ResponseParser();
- describe('SHOW TAG response', () => {
- const query = 'SHOW TAG KEYS FROM "cpu"';
- const response = {
- results: [
- {
- series: [
- {
- name: 'cpu',
- columns: ['tagKey'],
- values: [['datacenter'], ['hostname'], ['source']],
- },
- ],
- },
- ],
- };
- const result = parser.parse(query, response);
- it('expects three results', () => {
- expect(_.size(result)).toBe(3);
- });
- });
- describe('SHOW TAG VALUES response', () => {
- const query = 'SHOW TAG VALUES FROM "cpu" WITH KEY = "hostname"';
- describe('response from 0.10.0', () => {
- const response = {
- results: [
- {
- series: [
- {
- name: 'hostnameTagValues',
- columns: ['hostname'],
- values: [['server1'], ['server2'], ['server2']],
- },
- ],
- },
- ],
- };
- const result = parser.parse(query, response);
- it('should get two responses', () => {
- expect(_.size(result)).toBe(2);
- expect(result[0].text).toBe('server1');
- expect(result[1].text).toBe('server2');
- });
- });
- describe('response from 0.12.0', () => {
- const response = {
- results: [
- {
- series: [
- {
- name: 'cpu',
- columns: ['key', 'value'],
- values: [['source', 'site'], ['source', 'api']],
- },
- {
- name: 'logins',
- columns: ['key', 'value'],
- values: [['source', 'site'], ['source', 'webapi']],
- },
- ],
- },
- ],
- };
- const result = parser.parse(query, response);
- it('should get two responses', () => {
- expect(_.size(result)).toBe(3);
- expect(result[0].text).toBe('site');
- expect(result[1].text).toBe('api');
- expect(result[2].text).toBe('webapi');
- });
- });
- });
- describe('SELECT response', () => {
- const query = 'SELECT "usage_iowait" FROM "cpu" LIMIT 10';
- const response = {
- results: [
- {
- series: [
- {
- name: 'cpu',
- columns: ['time', 'usage_iowait'],
- values: [[1488465190006040638, 0.0], [1488465190006040638, 15.0], [1488465190006040638, 20.2]],
- },
- ],
- },
- ],
- };
- const result = parser.parse(query, response);
- it('should return second column', () => {
- expect(_.size(result)).toBe(3);
- expect(result[0].text).toBe('0');
- expect(result[1].text).toBe('15');
- expect(result[2].text).toBe('20.2');
- });
- });
- describe('SHOW FIELD response', () => {
- const query = 'SHOW FIELD KEYS FROM "cpu"';
- describe('response from pre-1.0', () => {
- const response = {
- results: [
- {
- series: [
- {
- name: 'cpu',
- columns: ['fieldKey'],
- values: [['value']],
- },
- ],
- },
- ],
- };
- const result = parser.parse(query, response);
- it('should get two responses', () => {
- expect(_.size(result)).toBe(1);
- });
- });
- describe('response from 1.0', () => {
- const response = {
- results: [
- {
- series: [
- {
- name: 'cpu',
- columns: ['fieldKey', 'fieldType'],
- values: [['time', 'float']],
- },
- ],
- },
- ],
- };
- const result = parser.parse(query, response);
- it('should return first column', () => {
- expect(_.size(result)).toBe(1);
- expect(result[0].text).toBe('time');
- });
- });
- });
- });
|