

























@@ -1,13 +1,12 @@
11import crypto from "node:crypto";
2-import { afterAll, beforeAll, describe, expect, test } from "vitest";
2+import { afterAll, beforeAll, describe, expect, test, vi } from "vitest";
33import { WebSocket } from "ws";
44import {
55deriveDeviceIdFromPublicKey,
66type DeviceIdentity,
77publicKeyRawBase64UrlFromPem,
88signDevicePayload,
99} from "../infra/device-identity.js";
10-import { sleep } from "../utils.js";
1110import { GATEWAY_CLIENT_MODES, GATEWAY_CLIENT_NAMES } from "../utils/message-channel.js";
1211import { GatewayClient } from "./client.js";
1312import { buildDeviceAuthPayload } from "./device-auth.js";
@@ -494,12 +493,10 @@ describe("node.invoke approval bypass", () => {
494493idempotencyKey: crypto.randomUUID(),
495494});
496495expect(invoke.ok).toBe(true);
497-for (let i = 0; i < 100; i += 1) {
498-if (lastInvokeParams) {
499-break;
500-}
501-await sleep(50);
502-}
496+await vi.waitFor(() => expect(lastInvokeParams).toBeTruthy(), {
497+timeout: 5_000,
498+interval: 50,
499+});
503500const forwardedParams = requireRecord(lastInvokeParams, "forwarded invoke params");
504501expect(forwardedParams["approved"]).toBe(true);
505502expect(forwardedParams["approvalDecision"]).toBe("allow-once");
@@ -579,12 +576,10 @@ describe("node.invoke approval bypass", () => {
579576idempotencyKey: crypto.randomUUID(),
580577});
581578expect(invoke.ok).toBe(true);
582-for (let i = 0; i < 100; i += 1) {
583-if (lastInvokeParams) {
584-break;
585-}
586-await sleep(50);
587-}
579+await vi.waitFor(() => expect(lastInvokeParams).toBeTruthy(), {
580+timeout: 5_000,
581+interval: 50,
582+});
588583const forwardedParams = requireRecord(lastInvokeParams, "forwarded invoke params");
589584expect(forwardedParams["approved"]).toBe(true);
590585expect(forwardedParams["approvalDecision"]).toBe("allow-once");
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。