- 引入 typed target 判别联合,支持 http 与 command 两种 checker - expect 重构为有序规则数组,按配置顺序快速失败并生成结构化 failure - 新增 command runner,支持 exec + args 本地命令执行 - 引入全局并发限制 maxConcurrentChecks 和 size 解析 (KB/MB/GB) - HTTP/command 各自独立 expect pipeline,应用领域默认成功语义 - SQLite schema、API、Dashboard 全链路调整为 checker 通用契约 - 补充完整测试覆盖(192 tests),更新 README 与示例配置
44 lines
1.2 KiB
TypeScript
44 lines
1.2 KiB
TypeScript
import { describe, expect, test } from "bun:test";
|
|
import { parseSize, DEFAULT_MAX_BODY_BYTES, DEFAULT_MAX_OUTPUT_BYTES } from "../../../src/server/checker/size";
|
|
|
|
describe("parseSize", () => {
|
|
test("解析 B", () => {
|
|
expect(parseSize("1024B")).toBe(1024);
|
|
expect(parseSize("0B")).toBe(0);
|
|
});
|
|
|
|
test("解析 KB", () => {
|
|
expect(parseSize("1KB")).toBe(1024);
|
|
expect(parseSize("512KB")).toBe(524288);
|
|
});
|
|
|
|
test("解析 MB", () => {
|
|
expect(parseSize("1MB")).toBe(1048576);
|
|
expect(parseSize("100MB")).toBe(104857600);
|
|
});
|
|
|
|
test("解析 GB", () => {
|
|
expect(parseSize("1GB")).toBe(1073741824);
|
|
});
|
|
|
|
test("解析小数", () => {
|
|
expect(parseSize("1.5MB")).toBe(1572864);
|
|
});
|
|
|
|
test("数字直接返回", () => {
|
|
expect(parseSize(2048)).toBe(2048);
|
|
});
|
|
|
|
test("无效格式抛出错误", () => {
|
|
expect(() => parseSize("100")).toThrow("无效的 size 格式");
|
|
expect(() => parseSize("100MBB")).toThrow("无效的 size 格式");
|
|
expect(() => parseSize("abc")).toThrow("无效的 size 格式");
|
|
expect(() => parseSize("")).toThrow("无效的 size 格式");
|
|
});
|
|
|
|
test("默认值", () => {
|
|
expect(DEFAULT_MAX_BODY_BYTES).toBe(104857600);
|
|
expect(DEFAULT_MAX_OUTPUT_BYTES).toBe(104857600);
|
|
});
|
|
});
|