mirror of
https://github.com/Kaelio/ktx.git
synced 2026-06-13 08:15:14 +02:00
30 lines
1.5 KiB
TypeScript
30 lines
1.5 KiB
TypeScript
|
|
import { describe, expect, it } from 'vitest';
|
||
|
|
import { sqlAnalysisDialectForDriver } from '../../../src/context/sql-analysis/dialect.js';
|
||
|
|
|
||
|
|
describe('sqlAnalysisDialectForDriver', () => {
|
||
|
|
it('maps ktx.yaml driver names to sqlglot dialects', () => {
|
||
|
|
expect(sqlAnalysisDialectForDriver('postgres')).toBe('postgres');
|
||
|
|
expect(sqlAnalysisDialectForDriver('bigquery')).toBe('bigquery');
|
||
|
|
expect(sqlAnalysisDialectForDriver('snowflake')).toBe('snowflake');
|
||
|
|
expect(sqlAnalysisDialectForDriver('mysql')).toBe('mysql');
|
||
|
|
expect(sqlAnalysisDialectForDriver('sqlserver')).toBe('tsql');
|
||
|
|
expect(sqlAnalysisDialectForDriver('sqlite')).toBe('sqlite');
|
||
|
|
expect(sqlAnalysisDialectForDriver('duckdb')).toBe('duckdb');
|
||
|
|
expect(sqlAnalysisDialectForDriver('clickhouse')).toBe('clickhouse');
|
||
|
|
expect(sqlAnalysisDialectForDriver('databricks')).toBe('databricks');
|
||
|
|
});
|
||
|
|
|
||
|
|
it('maps local connection-type spellings to sqlglot dialects', () => {
|
||
|
|
expect(sqlAnalysisDialectForDriver('POSTGRESQL')).toBe('postgres');
|
||
|
|
expect(sqlAnalysisDialectForDriver('SQLSERVER')).toBe('tsql');
|
||
|
|
expect(sqlAnalysisDialectForDriver('BIGQUERY')).toBe('bigquery');
|
||
|
|
expect(sqlAnalysisDialectForDriver('SQLITE')).toBe('sqlite');
|
||
|
|
});
|
||
|
|
|
||
|
|
it('defaults to postgres for unknown or missing drivers', () => {
|
||
|
|
expect(sqlAnalysisDialectForDriver(undefined)).toBe('postgres');
|
||
|
|
expect(sqlAnalysisDialectForDriver('')).toBe('postgres');
|
||
|
|
expect(sqlAnalysisDialectForDriver('unknown')).toBe('postgres');
|
||
|
|
});
|
||
|
|
});
|