From 2da2d506b587e0bdccf531d19a539372f055e6f4 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Wed, 29 Apr 2026 07:15:29 +0100 Subject: [PATCH] test(zalo): align open dm lifecycle fixtures --- extensions/zalo/src/monitor.webhook.test.ts | 1 + .../zalo/src/test-support/lifecycle-test-support.ts | 13 +++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/extensions/zalo/src/monitor.webhook.test.ts b/extensions/zalo/src/monitor.webhook.test.ts index 08d56ff6569..4b76cf08027 100644 --- a/extensions/zalo/src/monitor.webhook.test.ts +++ b/extensions/zalo/src/monitor.webhook.test.ts @@ -559,6 +559,7 @@ describe("handleZaloWebhookRequest", () => { ...DEFAULT_ACCOUNT, config: { dmPolicy: "open", + allowFrom: ["*"], }, }, }); diff --git a/extensions/zalo/src/test-support/lifecycle-test-support.ts b/extensions/zalo/src/test-support/lifecycle-test-support.ts index b985e12b23a..650ced850ff 100644 --- a/extensions/zalo/src/test-support/lifecycle-test-support.ts +++ b/extensions/zalo/src/test-support/lifecycle-test-support.ts @@ -3,6 +3,13 @@ import { expect, vi } from "vitest"; import type { OpenClawConfig, PluginRuntime } from "../runtime-api.js"; import type { ResolvedZaloAccount } from "../types.js"; +function resolveLifecycleAllowFrom(params: { + dmPolicy: "open" | "pairing"; + allowFrom?: string[]; +}): string[] | undefined { + return params.allowFrom ?? (params.dmPolicy === "open" ? ["*"] : undefined); +} + export function createLifecycleConfig(params: { accountId: string; dmPolicy: "open" | "pairing"; @@ -12,6 +19,7 @@ export function createLifecycleConfig(params: { }): OpenClawConfig { const webhookUrl = params.webhookUrl ?? "https://example.com/hooks/zalo"; const webhookSecret = params.webhookSecret ?? "supersecret"; + const allowFrom = resolveLifecycleAllowFrom(params); return { channels: { zalo: { @@ -22,7 +30,7 @@ export function createLifecycleConfig(params: { webhookUrl, webhookSecret, // pragma: allowlist secret dmPolicy: params.dmPolicy, - ...(params.allowFrom ? { allowFrom: params.allowFrom } : {}), + ...(allowFrom ? { allowFrom } : {}), }, }, }, @@ -39,6 +47,7 @@ export function createLifecycleAccount(params: { }): ResolvedZaloAccount { const webhookUrl = params.webhookUrl ?? "https://example.com/hooks/zalo"; const webhookSecret = params.webhookSecret ?? "supersecret"; + const allowFrom = resolveLifecycleAllowFrom(params); return { accountId: params.accountId, enabled: true, @@ -48,7 +57,7 @@ export function createLifecycleAccount(params: { webhookUrl, webhookSecret, // pragma: allowlist secret dmPolicy: params.dmPolicy, - ...(params.allowFrom ? { allowFrom: params.allowFrom } : {}), + ...(allowFrom ? { allowFrom } : {}), }, } as ResolvedZaloAccount; }