import { describe, expect, test } from "bun:test"; import { checkExpect } from "../../../src/server/checker/fetcher"; describe("checkExpect", () => { test("无 expect 配置时 matched 为 true", () => { expect(checkExpect(200, "ok", 100, undefined)).toBe(true); }); test("status 匹配", () => { expect(checkExpect(200, "", 100, { status: [200, 201] })).toBe(true); expect(checkExpect(201, "", 100, { status: [200, 201] })).toBe(true); expect(checkExpect(404, "", 100, { status: [200, 201] })).toBe(false); }); test("bodyContains 匹配", () => { expect(checkExpect(200, "hello world", 100, { bodyContains: "hello" })).toBe(true); expect(checkExpect(200, "hello world", 100, { bodyContains: "missing" })).toBe(false); }); test("maxLatencyMs 匹配", () => { expect(checkExpect(200, "", 100, { maxLatencyMs: 200 })).toBe(true); expect(checkExpect(200, "", 300, { maxLatencyMs: 200 })).toBe(false); expect(checkExpect(200, "", 200, { maxLatencyMs: 200 })).toBe(true); }); test("多条 expect 全部通过", () => { expect( checkExpect(200, "healthy", 100, { status: [200], bodyContains: "healthy", maxLatencyMs: 200, }), ).toBe(true); }); test("多条 expect 部分失败", () => { expect( checkExpect(200, "healthy", 500, { status: [200], bodyContains: "healthy", maxLatencyMs: 200, }), ).toBe(false); }); });