metric_find_query.jest.ts 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import expandMacros from '../metric_find_query';
  2. describe('metric find query', () => {
  3. describe('expandMacros()', () => {
  4. it('returns a non-macro query unadulterated', () => {
  5. const query = 'from(db:"telegraf") |> last()';
  6. const result = expandMacros(query);
  7. expect(result).toBe(query);
  8. });
  9. it('returns a measurement query for measurements()', () => {
  10. const query = ' measurements(mydb) ';
  11. const result = expandMacros(query).replace(/\s/g, '');
  12. expect(result).toBe(
  13. 'from(db:"mydb")|>range($range)|>group(by:["_measurement"])|>distinct(column:"_measurement")|>group(none:true)'
  14. );
  15. });
  16. it('returns a tags query for tags()', () => {
  17. const query = ' tags(mydb , mymetric) ';
  18. const result = expandMacros(query).replace(/\s/g, '');
  19. expect(result).toBe('from(db:"mydb")|>range($range)|>filter(fn:(r)=>r._measurement=="mymetric")|>keys()');
  20. });
  21. it('returns a tag values query for tag_values()', () => {
  22. const query = ' tag_values(mydb , mymetric, mytag) ';
  23. const result = expandMacros(query).replace(/\s/g, '');
  24. expect(result).toBe(
  25. 'from(db:"mydb")|>range($range)|>filter(fn:(r)=>r._measurement=="mymetric")' +
  26. '|>group(by:["mytag"])|>distinct(column:"mytag")|>group(none:true)'
  27. );
  28. });
  29. it('returns a field keys query for field_keys()', () => {
  30. const query = ' field_keys(mydb , mymetric) ';
  31. const result = expandMacros(query).replace(/\s/g, '');
  32. expect(result).toBe(
  33. 'from(db:"mydb")|>range($range)|>filter(fn:(r)=>r._measurement=="mymetric")' +
  34. '|>group(by:["_field"])|>distinct(column:"_field")|>group(none:true)'
  35. );
  36. });
  37. });
  38. });