fix(ci): restore plugin boundary invariants

This commit is contained in:
Peter Steinberger
2026-04-07 06:23:34 +01:00
parent 1aca95ae15
commit 88a63a1816
3 changed files with 87 additions and 28 deletions

View File

@@ -5,6 +5,7 @@ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
import {
createTelegramActionGate,
listTelegramAccountIds,
mergeTelegramAccountConfig,
resolveTelegramMediaRuntimeOptions,
resetMissingDefaultWarnFlag,
resolveTelegramPollActionGateState,
@@ -316,6 +317,69 @@ describe("resolveTelegramAccount allowFrom precedence", () => {
});
});
describe("mergeTelegramAccountConfig", () => {
it("inherits top-level policy fallback for named accounts", () => {
const cfg: OpenClawConfig = {
channels: {
telegram: {
enabled: true,
dmPolicy: "allowlist",
allowFrom: ["123"],
groupPolicy: "allowlist",
accounts: {
bot1: {
enabled: true,
botToken: "bot-1-token",
},
bot2: {
enabled: true,
botToken: "bot-2-token",
},
},
},
},
};
expect(mergeTelegramAccountConfig(cfg, "bot1")).toMatchObject({
botToken: "bot-1-token",
dmPolicy: "allowlist",
allowFrom: ["123"],
groupPolicy: "allowlist",
});
expect(mergeTelegramAccountConfig(cfg, "bot2")).toMatchObject({
botToken: "bot-2-token",
dmPolicy: "allowlist",
allowFrom: ["123"],
groupPolicy: "allowlist",
});
});
it("keeps top-level policy fallback when auth lives in accounts.default", () => {
const cfg: OpenClawConfig = {
channels: {
telegram: {
enabled: true,
dmPolicy: "allowlist",
allowFrom: ["123"],
groupPolicy: "allowlist",
accounts: {
default: {
botToken: "legacy-token",
},
},
},
},
};
expect(mergeTelegramAccountConfig(cfg, "default")).toMatchObject({
botToken: "legacy-token",
dmPolicy: "allowlist",
allowFrom: ["123"],
groupPolicy: "allowlist",
});
});
});
describe("resolveTelegramPollActionGateState", () => {
it("requires both sendMessage and poll actions", () => {
const state = resolveTelegramPollActionGateState((key) => key !== "poll");