23 lines
803 B
TypeScript
23 lines
803 B
TypeScript
import { expect, test } from "bun:test";
|
|
import type { Db } from "@wrnexus/db";
|
|
import { SqlAuthStore } from "../src/stores/sql.ts";
|
|
|
|
test("auth store qualifies tables without changing parameter values", async () => {
|
|
let query = "";
|
|
let values: unknown[] = [];
|
|
const db = {
|
|
driver: { dialect: "postgres" },
|
|
one: async (sql: string, params: unknown[]) => {
|
|
query = sql;
|
|
values = params;
|
|
return undefined;
|
|
},
|
|
} as unknown as Db;
|
|
const store = new SqlAuthStore(db, { schema: "sso", tablePrefix: "" });
|
|
await store.findUserById("wrn_auth_users");
|
|
expect(query).toContain('FROM "sso"."users"');
|
|
expect(query).toContain("$1");
|
|
expect(values).toEqual(["wrn_auth_users"]);
|
|
expect(() => new SqlAuthStore(db, { schema: 'sso";DROP TABLE users' })).toThrow();
|
|
});
|