1
0

refactor: 移除 success 字段,简化为 matched 单层判定模型

This commit is contained in:
2026-05-11 13:12:55 +08:00
parent 548b44d28e
commit 35ba56888b
93 changed files with 3893 additions and 103 deletions

View File

@@ -77,7 +77,6 @@ describe("runHttpCheck 集成", () => {
test("成功请求 200", async () => {
const result = await runHttpCheck(makeTarget({ url: `${baseUrl}/ok` }));
expect(result.success).toBe(true);
expect(result.matched).toBe(true);
expect(result.statusDetail).toBe("HTTP 200");
expect(result.durationMs).not.toBeNull();
@@ -86,7 +85,6 @@ describe("runHttpCheck 集成", () => {
test("404 不匹配默认 status [200]", async () => {
const result = await runHttpCheck(makeTarget({ url: `${baseUrl}/notfound` }));
expect(result.success).toBe(false);
expect(result.matched).toBe(false);
expect(result.statusDetail).toBe("HTTP 404");
expect(result.failure).not.toBeNull();
@@ -100,7 +98,6 @@ describe("runHttpCheck 集成", () => {
expect: { status: [404] },
}),
);
expect(result.success).toBe(true);
expect(result.matched).toBe(true);
});
@@ -111,7 +108,6 @@ describe("runHttpCheck 集成", () => {
expect: { headers: { "x-custom": "test-value" } },
}),
);
expect(result.success).toBe(true);
expect(result.matched).toBe(true);
});
@@ -122,7 +118,7 @@ describe("runHttpCheck 集成", () => {
expect: { headers: { "x-custom": "wrong-value" } },
}),
);
expect(result.success).toBe(false);
expect(result.matched).toBe(false);
expect(result.failure!.phase).toBe("headers");
});
@@ -133,7 +129,6 @@ describe("runHttpCheck 集成", () => {
expect: { body: [{ contains: "hello" }] },
}),
);
expect(result.success).toBe(true);
expect(result.matched).toBe(true);
});
@@ -144,7 +139,7 @@ describe("runHttpCheck 集成", () => {
expect: { body: [{ contains: "nonexistent" }] },
}),
);
expect(result.success).toBe(false);
expect(result.matched).toBe(false);
expect(result.failure!.phase).toBe("body");
});
@@ -155,7 +150,7 @@ describe("runHttpCheck 集成", () => {
expect: { body: [{ json: { path: "$.status", equals: "ok" } }] },
}),
);
expect(result.success).toBe(true);
expect(result.matched).toBe(true);
});
test("响应体超过 maxBodyBytes", async () => {
@@ -166,7 +161,7 @@ describe("runHttpCheck 集成", () => {
expect: { body: [{ contains: "x" }] },
}),
);
expect(result.success).toBe(false);
expect(result.matched).toBe(false);
expect(result.failure).not.toBeNull();
expect(result.failure!.phase).toBe("body");
expect(result.failure!.message).toContain("超过限制");
@@ -188,7 +183,7 @@ describe("runHttpCheck 集成", () => {
timeoutMs: 100,
}),
);
expect(result.success).toBe(false);
expect(result.matched).toBe(false);
expect(result.failure).not.toBeNull();
expect(result.failure!.message).toContain("超时");
} finally {
@@ -203,7 +198,7 @@ describe("runHttpCheck 集成", () => {
expect: { status: [200], body: [{ contains: "something" }] },
}),
);
expect(result.success).toBe(false);
expect(result.matched).toBe(false);
expect(result.failure!.phase).toBe("status");
});
@@ -214,7 +209,7 @@ describe("runHttpCheck 集成", () => {
expect: { headers: { "x-missing": "value" }, body: [{ contains: "hello" }] },
}),
);
expect(result.success).toBe(false);
expect(result.matched).toBe(false);
expect(result.failure!.phase).toBe("headers");
});
@@ -225,13 +220,13 @@ describe("runHttpCheck 集成", () => {
expect: { status: [200], body: [{ contains: "not-in-body" }] },
}),
);
expect(result.success).toBe(false);
expect(result.matched).toBe(false);
expect(result.failure!.phase).toBe("body");
});
test("无 expect 时默认检查 status 200", async () => {
const result = await runHttpCheck(makeTarget({ url: `${baseUrl}/ok`, expect: undefined }));
expect(result.success).toBe(true);
expect(result.matched).toBe(true);
});
test("POST 请求携带 body", async () => {
@@ -244,7 +239,7 @@ describe("runHttpCheck 集成", () => {
expect: { status: [200], body: [{ json: { path: "$.body", equals: "present" } }] },
}),
);
expect(result.success).toBe(true);
expect(result.matched).toBe(true);
});
test("仅 contains 规则时不解析 JSON", async () => {
@@ -254,6 +249,6 @@ describe("runHttpCheck 集成", () => {
expect: { body: [{ contains: "hello world" }] },
}),
);
expect(result.success).toBe(true);
expect(result.matched).toBe(true);
});
});