import { describe, expect, it } from "vitest"; import { parseDuckDbQuery } from "../../src/core/duckdb"; describe("DuckDB query boundary", () => { it("records a single SELECT token stream", () => { expect( parseDuckDbQuery("SELECT team, avg(score) FROM data GROUP BY team"), ).toMatchObject({ type: "duckdb-query", statement: "SELECT", tokens: expect.arrayContaining([ { kind: "word", value: "data", offset: 29 }, ]), }); }); it.each([ "INSTALL httpfs", "SELECT * FROM data; DROP TABLE data", "COPY data TO 'x.csv'", "PRAGMA version", ])("rejects non-read-only statement %s", (source) => { expect(() => parseDuckDbQuery(source)).toThrow(); }); });