From 25efbdafce6bb4d1ec1ad604f949a62971b3b51c Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 7 Mar 2026 17:26:34 +0000 Subject: [PATCH] refactor(gateway): dedupe missing-local-token fixture tests --- src/gateway/credentials.test.ts | 56 +++++++++++++-------------------- 1 file changed, 22 insertions(+), 34 deletions(-) diff --git a/src/gateway/credentials.test.ts b/src/gateway/credentials.test.ts index 3af265e10f5..527cf10a424 100644 --- a/src/gateway/credentials.test.ts +++ b/src/gateway/credentials.test.ts @@ -333,25 +333,29 @@ describe("resolveGatewayCredentialsFromConfig", () => { ).toThrow("gateway.remote.token"); }); + function createRemoteConfigWithMissingLocalTokenRef() { + return { + gateway: { + mode: "remote", + remote: { + url: "wss://gateway.example", + }, + auth: { + mode: "token", + token: { source: "env", provider: "default", id: "MISSING_LOCAL_TOKEN" }, + }, + }, + secrets: { + providers: { + default: { source: "env" }, + }, + }, + } as unknown as OpenClawConfig; + } + it("ignores unresolved local token ref in remote-only mode when local auth mode is token", () => { const resolved = resolveGatewayCredentialsFromConfig({ - cfg: { - gateway: { - mode: "remote", - remote: { - url: "wss://gateway.example", - }, - auth: { - mode: "token", - token: { source: "env", provider: "default", id: "MISSING_LOCAL_TOKEN" }, - }, - }, - secrets: { - providers: { - default: { source: "env" }, - }, - }, - } as unknown as OpenClawConfig, + cfg: createRemoteConfigWithMissingLocalTokenRef(), env: {} as NodeJS.ProcessEnv, includeLegacyEnv: false, remoteTokenFallback: "remote-only", @@ -366,23 +370,7 @@ describe("resolveGatewayCredentialsFromConfig", () => { it("throws for unresolved local token ref in remote mode when local fallback is enabled", () => { expect(() => resolveGatewayCredentialsFromConfig({ - cfg: { - gateway: { - mode: "remote", - remote: { - url: "wss://gateway.example", - }, - auth: { - mode: "token", - token: { source: "env", provider: "default", id: "MISSING_LOCAL_TOKEN" }, - }, - }, - secrets: { - providers: { - default: { source: "env" }, - }, - }, - } as unknown as OpenClawConfig, + cfg: createRemoteConfigWithMissingLocalTokenRef(), env: {} as NodeJS.ProcessEnv, includeLegacyEnv: false, remoteTokenFallback: "remote-env-local",