Files
ln-bi/src/server/hydrogen-read-only.test.ts
T
kfluousandHiFox Agent 6c91a6694a
ci/woodpecker/push/woodpecker Pipeline was successful
fix(energy): deliver prototype-aligned hydrogen board and acceptance fixes
Co-authored-by: HiFox Agent <agents-noreply@hifox.com>
2026-09-03 22:27:23 +08:00

19 lines
721 B
TypeScript

import assert from 'node:assert/strict';
import test from 'node:test';
import { assertHydrogenReadOnlySql } from './hydrogen-read-only.js';
test('只读模式允许查询语句', () => {
for (const sql of ['SELECT 1', ' SHOW TABLES', 'WITH rows AS (SELECT 1) SELECT * FROM rows', 'EXPLAIN SELECT 1']) {
assert.doesNotThrow(() => assertHydrogenReadOnlySql(sql, true));
}
});
test('只读模式拒绝数据库写入语句', () => {
for (const sql of ['INSERT INTO ledger VALUES (1)', 'UPDATE ledger SET value = 1', 'DELETE FROM ledger', 'ALTER TABLE ledger ADD value INT']) {
assert.throws(
() => assertHydrogenReadOnlySql(sql, true),
/HYDROGEN_DB_READ_ONLY blocks non-read SQL/,
);
}
});