| import { describe, expect, it } from "vitest"; | |
| import type { OpenClawConfig } from "../config/config.js"; | |
| import type { RuntimeEnv } from "../runtime.js"; | |
| import { monitorLineProvider } from "./monitor.js"; | |
| describe("monitorLineProvider fail-closed webhook auth", () => { | |
| it("rejects startup when channel secret is missing", async () => { | |
| await expect( | |
| monitorLineProvider({ | |
| channelAccessToken: "token", | |
| channelSecret: " ", | |
| config: {} as OpenClawConfig, | |
| runtime: {} as RuntimeEnv, | |
| }), | |
| ).rejects.toThrow("LINE webhook mode requires a non-empty channel secret."); | |
| }); | |
| it("rejects startup when channel access token is missing", async () => { | |
| await expect( | |
| monitorLineProvider({ | |
| channelAccessToken: " ", | |
| channelSecret: "secret", | |
| config: {} as OpenClawConfig, | |
| runtime: {} as RuntimeEnv, | |
| }), | |
| ).rejects.toThrow("LINE webhook mode requires a non-empty channel access token."); | |
| }); | |
| }); | |