























@@ -1,4 +1,7 @@
11import { beforeEach, describe, expect, it, vi } from "vitest";
2+import type { resolveGatewayConnectionAuth } from "./connection-auth.js";
3+4+type AuthResolutionParams = Parameters<typeof resolveGatewayConnectionAuth>[0];
2536const mockState = vi.hoisted(() => ({
47buildGatewayConnectionDetails: vi.fn(),
@@ -18,6 +21,20 @@ vi.mock("./connection-auth.js", () => ({
1821const { resolveGatewayClientBootstrap, resolveGatewayUrlOverrideSource } =
1922await import("./client-bootstrap.js");
202324+function expectLastAuthResolutionParams(expected: {
25+urlOverride?: string;
26+urlOverrideSource?: "cli" | "env";
27+}) {
28+const [params] = mockState.resolveGatewayConnectionAuth.mock.calls.at(-1) ?? [];
29+if (params === undefined) {
30+throw new Error("Expected shared auth resolution to be called");
31+}
32+const authParams = params as AuthResolutionParams;
33+expect(authParams.env).toBe(process.env);
34+expect(authParams.urlOverride).toBe(expected.urlOverride);
35+expect(authParams.urlOverrideSource).toBe(expected.urlOverrideSource);
36+}
37+2138describe("resolveGatewayUrlOverrideSource", () => {
2239it("maps override url sources only", () => {
2340expect(resolveGatewayUrlOverrideSource("cli --url")).toBe("cli");
@@ -57,13 +74,10 @@ describe("resolveGatewayClientBootstrap", () => {
5774password: undefined,
5875},
5976});
60-expect(mockState.resolveGatewayConnectionAuth).toHaveBeenCalledWith(
61-expect.objectContaining({
62-env: process.env,
63-urlOverride: "wss://override.example/ws",
64-urlOverrideSource: "cli",
65-}),
66-);
77+expectLastAuthResolutionParams({
78+urlOverride: "wss://override.example/ws",
79+urlOverrideSource: "cli",
80+});
6781});
68826983it("does not mark config-derived urls as overrides", async () => {
@@ -77,13 +91,10 @@ describe("resolveGatewayClientBootstrap", () => {
7791env: process.env,
7892});
799380-expect(mockState.resolveGatewayConnectionAuth).toHaveBeenCalledWith(
81-expect.objectContaining({
82-env: process.env,
83-urlOverride: undefined,
84-urlOverrideSource: undefined,
85-}),
86-);
94+expectLastAuthResolutionParams({
95+urlOverride: undefined,
96+urlOverrideSource: undefined,
97+});
8798});
889989100it("carries configured preauth handshake timeout for GatewayClient callers", async () => {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。