From 49ce7fe90c2556dd4ebaabe8188f68141eab80bc Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Mon, 27 Apr 2026 08:03:34 +0100 Subject: [PATCH] test: cover slack bolt auth verification suppression --- .../src/monitor/provider.interop.test.ts | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/extensions/slack/src/monitor/provider.interop.test.ts b/extensions/slack/src/monitor/provider.interop.test.ts index f35a56af05c..78ed608eb7c 100644 --- a/extensions/slack/src/monitor/provider.interop.test.ts +++ b/extensions/slack/src/monitor/provider.interop.test.ts @@ -204,6 +204,33 @@ describe("createSlackBoltApp", () => { expect((app as unknown as FakeApp).middleware).toHaveLength(1); }); + it("prevents Bolt's constructor-time token verification side effect", () => { + let eagerAuthTestCalls = 0; + class BoltLikeEagerAuthApp extends FakeApp { + constructor(args: Record) { + super(args); + if (args.tokenVerificationEnabled !== false) { + eagerAuthTestCalls += 1; + } + } + } + + createSlackBoltApp({ + interop: { + App: BoltLikeEagerAuthApp as never, + HTTPReceiver: FakeHTTPReceiver as never, + SocketModeReceiver: FakeSocketModeReceiver as never, + }, + slackMode: "socket", + botToken: "xoxb-invalid", + appToken: "xapp-test", + slackWebhookPath: "/slack/events", + clientOptions: {}, + }); + + expect(eagerAuthTestCalls).toBe(0); + }); + it("keeps Bolt self filtering except assistant message_changed events", () => { expect( shouldSkipOpenClawSlackSelfEvent({