This commit is contained in:
2026-03-19 18:00:46 +07:00
commit f72ad2769f
98 changed files with 9299 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
import test from "node:test";
import assert from "node:assert/strict";
import { guardSql } from "../src/lib/sql-guard.js";
test("guardSql blocks DROP DATABASE", () => {
assert.throws(
() =>
guardSql("DROP DATABASE appdb", {
allowMultiStatement: false,
readOnly: false,
allowSchemaChanges: true
}),
/blocked/i
);
});
test("guardSql blocks writes for read-only users", () => {
assert.throws(
() =>
guardSql("update users set name = 'x'", {
allowMultiStatement: false,
readOnly: true,
allowSchemaChanges: false
}),
/Read-only/i
);
});