


























@@ -107,6 +107,48 @@ let closeReason = "";
107107let helloMethods: string[] | undefined = ["health", "secrets.resolve"];
108108let connectError: Error | null = null;
109109110+function startStubGatewayClient() {
111+startCalls += 1;
112+if (startMode === "hello") {
113+void lastClientOptions?.onHelloOk?.({
114+features: {
115+methods: helloMethods,
116+},
117+});
118+} else if (startMode === "startup-retry-then-hello") {
119+void lastClientOptions?.onHelloOk?.({
120+features: {
121+methods: helloMethods,
122+},
123+});
124+} else if (startMode === "clean-prehello-close-then-hello") {
125+lastClientOptions?.onClose?.(1000, "", {
126+phase: "pre-hello",
127+transientPreHelloCleanClose: true,
128+});
129+void lastClientOptions?.onHelloOk?.({
130+features: {
131+methods: helloMethods,
132+},
133+});
134+} else if (startMode === "repeated-clean-prehello-close") {
135+lastClientOptions?.onClose?.(1000, "", {
136+phase: "pre-hello",
137+transientPreHelloCleanClose: true,
138+});
139+lastClientOptions?.onClose?.(1000, "", {
140+phase: "pre-hello",
141+transientPreHelloCleanClose: true,
142+});
143+} else if (startMode === "connect-error") {
144+lastClientOptions?.onConnectError?.(
145+connectError ?? connectAssemblyErrorState.create("device private key invalid"),
146+);
147+} else if (startMode === "close") {
148+lastClientOptions?.onClose?.(closeCode, closeReason);
149+}
150+}
151+110152vi.mock("./client.js", () => ({
111153describeGatewayCloseCode: (code: number) => {
112154if (code === 1000) {
@@ -144,45 +186,7 @@ vi.mock("./client.js", () => ({
144186return { ok: true };
145187}
146188start() {
147-startCalls += 1;
148-if (startMode === "hello") {
149-void lastClientOptions?.onHelloOk?.({
150-features: {
151-methods: helloMethods,
152-},
153-});
154-} else if (startMode === "startup-retry-then-hello") {
155-void lastClientOptions?.onHelloOk?.({
156-features: {
157-methods: helloMethods,
158-},
159-});
160-} else if (startMode === "clean-prehello-close-then-hello") {
161-lastClientOptions?.onClose?.(1000, "", {
162-phase: "pre-hello",
163-transientPreHelloCleanClose: true,
164-});
165-void lastClientOptions?.onHelloOk?.({
166-features: {
167-methods: helloMethods,
168-},
169-});
170-} else if (startMode === "repeated-clean-prehello-close") {
171-lastClientOptions?.onClose?.(1000, "", {
172-phase: "pre-hello",
173-transientPreHelloCleanClose: true,
174-});
175-lastClientOptions?.onClose?.(1000, "", {
176-phase: "pre-hello",
177-transientPreHelloCleanClose: true,
178-});
179-} else if (startMode === "connect-error") {
180-lastClientOptions?.onConnectError?.(
181-connectError ?? connectAssemblyErrorState.create("device private key invalid"),
182-);
183-} else if (startMode === "close") {
184-lastClientOptions?.onClose?.(closeCode, closeReason);
185-}
189+startStubGatewayClient();
186190}
187191stop() {}
188192},
@@ -240,45 +244,7 @@ class StubGatewayClient {
240244return { ok: true };
241245}
242246start() {
243-startCalls += 1;
244-if (startMode === "hello") {
245-void lastClientOptions?.onHelloOk?.({
246-features: {
247-methods: helloMethods,
248-},
249-});
250-} else if (startMode === "startup-retry-then-hello") {
251-void lastClientOptions?.onHelloOk?.({
252-features: {
253-methods: helloMethods,
254-},
255-});
256-} else if (startMode === "clean-prehello-close-then-hello") {
257-lastClientOptions?.onClose?.(1000, "", {
258-phase: "pre-hello",
259-transientPreHelloCleanClose: true,
260-});
261-void lastClientOptions?.onHelloOk?.({
262-features: {
263-methods: helloMethods,
264-},
265-});
266-} else if (startMode === "repeated-clean-prehello-close") {
267-lastClientOptions?.onClose?.(1000, "", {
268-phase: "pre-hello",
269-transientPreHelloCleanClose: true,
270-});
271-lastClientOptions?.onClose?.(1000, "", {
272-phase: "pre-hello",
273-transientPreHelloCleanClose: true,
274-});
275-} else if (startMode === "connect-error") {
276-lastClientOptions?.onConnectError?.(
277-connectError ?? connectAssemblyErrorState.create("device private key invalid"),
278-);
279-} else if (startMode === "close") {
280-lastClientOptions?.onClose?.(closeCode, closeReason);
281-}
247+startStubGatewayClient();
282248}
283249stop() {}
284250async stopAndWait() {}
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。