fix(plugins): keep extension tests on public boundaries · openclaw/openclaw@c372f6e
vincentkoc
·
2026-06-21
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
@@ -2,14 +2,30 @@
|
2 | 2 | import http from "node:http"; |
3 | 3 | import https from "node:https"; |
4 | 4 | import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; |
5 | | -import { createDeferred } from "../../../../src/test-utils/deferred.js"; |
6 | 5 | |
7 | 6 | const { registerManagedProxyBrowserCdpBypassMock } = vi.hoisted(() => ({ |
8 | 7 | registerManagedProxyBrowserCdpBypassMock: vi.fn<(url: string) => (() => void) | undefined>( |
9 | 8 | () => undefined, |
10 | 9 | ), |
11 | 10 | })); |
12 | 11 | |
| 12 | +function createDeferred<T = void>(): { |
| 13 | +promise: Promise<T>; |
| 14 | +resolve: (value: T | PromiseLike<T>) => void; |
| 15 | +reject: (reason?: unknown) => void; |
| 16 | +} { |
| 17 | +let resolve: ((value: T | PromiseLike<T>) => void) | undefined; |
| 18 | +let reject: ((reason?: unknown) => void) | undefined; |
| 19 | +const promise = new Promise<T>((resolvePromise, rejectPromise) => { |
| 20 | +resolve = resolvePromise; |
| 21 | +reject = rejectPromise; |
| 22 | +}); |
| 23 | +if (!resolve || !reject) { |
| 24 | +throw new Error("Expected deferred callbacks to be initialized"); |
| 25 | +} |
| 26 | +return { promise, resolve, reject }; |
| 27 | +} |
| 28 | + |
13 | 29 | vi.mock("openclaw/plugin-sdk/ssrf-runtime-internal", () => ({ |
14 | 30 | registerManagedProxyBrowserCdpBypass: registerManagedProxyBrowserCdpBypassMock, |
15 | 31 | })); |
|
| Original file line number | Diff line number | Diff line change |
|---|
|
1 | 1 | import { afterEach, describe, expect, it, vi } from "vitest"; |
2 | 2 | // Memory Core tests cover manager cache plugin behavior. |
3 | | -import { createDeferred } from "../../../../src/test-utils/deferred.js"; |
4 | 3 | import { |
5 | 4 | closeManagedCacheEntries, |
6 | 5 | getOrCreateManagedCacheEntry, |
7 | 6 | resolveSingletonManagedCache, |
8 | 7 | type ManagedCache, |
9 | 8 | } from "./manager-cache.js"; |
10 | 9 | |
| 10 | +function createDeferred<T = void>(): { |
| 11 | +promise: Promise<T>; |
| 12 | +resolve: (value: T | PromiseLike<T>) => void; |
| 13 | +reject: (reason?: unknown) => void; |
| 14 | +} { |
| 15 | +let resolve: ((value: T | PromiseLike<T>) => void) | undefined; |
| 16 | +let reject: ((reason?: unknown) => void) | undefined; |
| 17 | +const promise = new Promise<T>((resolvePromise, rejectPromise) => { |
| 18 | +resolve = resolvePromise; |
| 19 | +reject = rejectPromise; |
| 20 | +}); |
| 21 | +if (!resolve || !reject) { |
| 22 | +throw new Error("Expected deferred callbacks to be initialized"); |
| 23 | +} |
| 24 | +return { promise, resolve, reject }; |
| 25 | +} |
| 26 | + |
11 | 27 | type TestEntry = { |
12 | 28 | id: string; |
13 | 29 | close: () => Promise<void>; |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。