Verified: - pnpm test extensions/feishu/src/monitor.state.defaults.test.ts - pnpm exec vitest run extensions/feishu/src/monitor.state.defaults.test.ts - pnpm exec oxfmt --check extensions/feishu/src/monitor.state.ts extensions/feishu/src/monitor.state.defaults.test.ts CHANGELOG.md - CI note: non-required check "check" failed on unrelated TS errors outside this PR scope. Co-authored-by: liuxiaopai-ai <73659136+liuxiaopai-ai@users.noreply.github.com> Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
47 lines
1.2 KiB
TypeScript
47 lines
1.2 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import {
|
|
resolveFeishuWebhookAnomalyDefaultsForTest,
|
|
resolveFeishuWebhookRateLimitDefaultsForTest,
|
|
} from "./monitor.state.js";
|
|
|
|
describe("feishu monitor state defaults", () => {
|
|
it("falls back to hard defaults when sdk defaults are missing", () => {
|
|
expect(resolveFeishuWebhookRateLimitDefaultsForTest(undefined)).toEqual({
|
|
windowMs: 60_000,
|
|
maxRequests: 120,
|
|
maxTrackedKeys: 4_096,
|
|
});
|
|
expect(resolveFeishuWebhookAnomalyDefaultsForTest(undefined)).toEqual({
|
|
maxTrackedKeys: 4_096,
|
|
ttlMs: 21_600_000,
|
|
logEvery: 25,
|
|
});
|
|
});
|
|
|
|
it("keeps valid sdk values and repairs invalid fields", () => {
|
|
expect(
|
|
resolveFeishuWebhookRateLimitDefaultsForTest({
|
|
windowMs: 45_000,
|
|
maxRequests: 0,
|
|
maxTrackedKeys: -1,
|
|
}),
|
|
).toEqual({
|
|
windowMs: 45_000,
|
|
maxRequests: 120,
|
|
maxTrackedKeys: 4_096,
|
|
});
|
|
|
|
expect(
|
|
resolveFeishuWebhookAnomalyDefaultsForTest({
|
|
maxTrackedKeys: 2048,
|
|
ttlMs: Number.NaN,
|
|
logEvery: 10,
|
|
}),
|
|
).toEqual({
|
|
maxTrackedKeys: 2048,
|
|
ttlMs: 21_600_000,
|
|
logEvery: 10,
|
|
});
|
|
});
|
|
});
|