From 16008d7ad1e4e388073e2ce2ace3bf6a56aaf0f0 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sun, 10 May 2026 00:03:32 +0100 Subject: [PATCH] test: tighten readonly channel audit assertions --- ...it-channel-readonly-setup-fallback.test.ts | 42 ++++++++++++------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/src/security/audit-channel-readonly-setup-fallback.test.ts b/src/security/audit-channel-readonly-setup-fallback.test.ts index 9d9fc2571ff..ca3e3182ded 100644 --- a/src/security/audit-channel-readonly-setup-fallback.test.ts +++ b/src/security/audit-channel-readonly-setup-fallback.test.ts @@ -108,20 +108,34 @@ describe("security audit channel read-only setup fallback", () => { loadPluginSecurityCollectors: false, }); - expect(listReadOnlyChannelPluginsForConfigMock).toHaveBeenCalledWith( - cfg, - expect.objectContaining({ - includePersistedAuthState: true, - includeSetupFallbackPlugins: true, - }), - ); - expect(collectChannelSecurityFindingsMock).toHaveBeenCalledWith( - expect.objectContaining({ - cfg, - sourceConfig: cfg, - plugins: [plugin], - }), - ); + const readOnlyPluginCalls = listReadOnlyChannelPluginsForConfigMock.mock + .calls as unknown as Array< + [ + OpenClawConfig, + { + includePersistedAuthState?: boolean; + includeSetupFallbackPlugins?: boolean; + }, + ] + >; + const readOnlyPluginCall = readOnlyPluginCalls[0]; + expect(readOnlyPluginCall?.[0]).toBe(cfg); + expect(readOnlyPluginCall?.[1].includePersistedAuthState).toBe(true); + expect(readOnlyPluginCall?.[1].includeSetupFallbackPlugins).toBe(true); + + const collectCalls = collectChannelSecurityFindingsMock.mock.calls as unknown as Array< + [ + { + cfg?: OpenClawConfig; + sourceConfig?: OpenClawConfig; + plugins?: ChannelPlugin[]; + }, + ] + >; + const collectParams = collectCalls[0]?.[0]; + expect(collectParams?.cfg).toBe(cfg); + expect(collectParams?.sourceConfig).toBe(cfg); + expect(collectParams?.plugins).toStrictEqual([plugin]); expect(report.findings.map((finding) => finding.checkId)).toContain( "channels.telegram.setup_fallback_audited", );