mirror of
https://github.com/Kaelio/ktx.git
synced 2026-06-10 08:05:14 +02:00
* feat(context): add warehouse dialect dispatch * feat(context): read warehouse scan catalog * feat(context): add entity details verification tool * feat(context): add ingest SQL verification tool * feat(context): add raw warehouse discovery tool * feat(context): expose warehouse verification tools to ingest * docs(context): add ingest identifier verification protocol * test(context): guard ingest identifier verification prompts * chore(context): verify warehouse verification tools * docs: add warehouse verification tools plan and spec * fix(context): expose target warehouses to Notion ingest * fix(context): update ingest prompts for warehouse verification tools * fix(context): scope raw schema discovery to allowed connections * fix(context): verify warehouse column display targets * docs: add notion warehouse verification gap closure plan * fix(context): include raw discovery connection names * fix(context): expose warehouse targets for LookML and MetricFlow * fix(context): pass connection config to ingest query executors * fix(cli): enable read-only SQL probes for local ingest * docs: add warehouse verification final v1 closure plan * fix(context): align warehouse sql probe prompt shape * docs: add warehouse verification prompt shape closure plan * test(context): catch connectionless sql execution prompt examples * fix(context): include connection name in sl capture sql example * docs: add warehouse verification sql example closure plan * fix(context): report structured entity detail misses * docs: add warehouse verification structured target miss closure plan * fix: report untracked squash merge conflicts * feat: require ingest verification ledger * fix: stabilize ingest wiki references
30 lines
1.2 KiB
TypeScript
30 lines
1.2 KiB
TypeScript
import { describe, expect, it } from 'vitest';
|
|
import { getDialectForDriver } from './dialects.js';
|
|
|
|
describe('getDialectForDriver', () => {
|
|
it.each([
|
|
['postgres', '"public"."orders"'],
|
|
['postgresql', '"public"."orders"'],
|
|
['mysql', '`public`.`orders`'],
|
|
['clickhouse', '`public`.`orders`'],
|
|
['sqlite', '"orders"'],
|
|
['snowflake', '"analytics"."public"."orders"'],
|
|
['bigquery', '`analytics`.`public`.`orders`'],
|
|
['sqlserver', '[analytics].[public].[orders]'],
|
|
] as const)('formats table names for %s', (driver, expected) => {
|
|
const dialect = getDialectForDriver(driver);
|
|
expect(
|
|
dialect.formatTableName({
|
|
catalog: driver === 'snowflake' || driver === 'bigquery' || driver === 'sqlserver' ? 'analytics' : null,
|
|
db: driver === 'sqlite' ? null : 'public',
|
|
name: 'orders',
|
|
}),
|
|
).toBe(expected);
|
|
});
|
|
|
|
it('throws with a supported-driver list for unknown drivers', () => {
|
|
expect(() => getDialectForDriver('oracle')).toThrow(
|
|
'Unsupported warehouse driver "oracle". Supported drivers: bigquery, clickhouse, mysql, postgres, postgresql, sqlite, sqlite3, snowflake, sqlserver',
|
|
);
|
|
});
|
|
});
|