import { formatSql } from '../format'; describe('formatSql', () => { it('formats SQL with Grafana template variables', () => { const sql = "SELECT _wstart as ts, last(usage_idle) * -1 + 100 FROM $database.cpu WHERE (host = '$server' and cpu = 'cpu-total') and _ts >= $from and _ts <= $to interval($interval) fill(null)"; expect(formatSql(sql)).toBe( [ 'SELECT', ' _wstart AS ts,', ' last (usage_idle) * -1 + 100', 'FROM', ' $database.cpu', 'WHERE', ' (', " host = '$server'", " AND cpu = 'cpu-total'", ' )', ' AND _ts >= $from', ' AND _ts <= $to interval($interval) fill (NULL)', ].join('\n') ); }); it('keeps Grafana macro calls intact', () => { expect(formatSql('select $__timeFilter(ts) from metric')).toBe(['SELECT', ' $__timeFilter(ts)', 'FROM', ' metric'].join('\n')); }); });