

























@@ -83,7 +83,11 @@ async function runGatewayPrompt(params: {
8383);
84848585const result = await promptGatewayConfig(params.baseConfig ?? {}, makeRuntime());
86-const call = mocks.buildGatewayAuthConfig.mock.calls[0]?.[0];
86+const [call] = mocks.buildGatewayAuthConfig.mock.calls[0] ?? [];
87+expect(call).toBeDefined();
88+if (!call) {
89+throw new Error("expected gateway auth config input");
90+}
8791return { result, call };
8892}
8993@@ -116,8 +120,8 @@ describe("promptGatewayConfig", () => {
116120randomToken: "unused",
117121authConfigFactory: ({ mode, token, password }) => ({ mode, token, password }),
118122});
119-expect(call?.password).not.toBe("undefined");
120-expect(call?.password).toBe("");
123+expect(call.password).not.toBe("undefined");
124+expect(call.password).toBe("");
121125});
122126123127it("prompts for trusted-proxy configuration when trusted-proxy mode selected", async () => {
@@ -131,8 +135,8 @@ describe("promptGatewayConfig", () => {
131135],
132136});
133137134-expect(call?.mode).toBe("trusted-proxy");
135-expect(call?.trustedProxy).toEqual({
138+expect(call.mode).toBe("trusted-proxy");
139+expect(call.trustedProxy).toEqual({
136140userHeader: "x-forwarded-user",
137141requiredHeaders: ["x-forwarded-proto", "x-forwarded-host"],
138142allowUsers: ["nick@example.com"],
@@ -146,8 +150,8 @@ describe("promptGatewayConfig", () => {
146150textQueue: ["18789", "x-remote-user", "", "", "10.0.0.1"],
147151});
148152149-expect(call?.mode).toBe("trusted-proxy");
150-expect(call?.trustedProxy).toEqual({
153+expect(call.mode).toBe("trusted-proxy");
154+expect(call.trustedProxy).toEqual({
151155userHeader: "x-remote-user",
152156// requiredHeaders and allowUsers should be undefined when empty
153157});
@@ -249,7 +253,7 @@ describe("promptGatewayConfig", () => {
249253authConfigFactory: ({ mode, token }) => ({ mode, token }),
250254});
251255252-expect(call?.token).toEqual({
256+expect(call.token).toEqual({
253257source: "env",
254258provider: "default",
255259id: "OPENCLAW_GATEWAY_TOKEN",
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。