fix(feishu): tolerate missing webhook defaults in older plugin-sdk (openclaw#31639) thanks @liuxiaopai-ai
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>
This commit is contained in:
46
extensions/feishu/src/monitor.state.defaults.test.ts
Normal file
46
extensions/feishu/src/monitor.state.defaults.test.ts
Normal file
@@ -0,0 +1,46 @@
|
||||
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,
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user