mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-12 18:02:56 +00:00
test(gateway): share deferred helper
This commit is contained in:
@@ -1,18 +1,6 @@
|
||||
import { beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
|
||||
import type { ExecApprovalRequest, ExecApprovalResolved } from "../infra/exec-approvals.js";
|
||||
|
||||
function createDeferred<T>() {
|
||||
let resolve: ((value: T) => void) | undefined;
|
||||
let reject: ((error: unknown) => void) | undefined;
|
||||
const promise = new Promise<T>((resolvePromise, rejectPromise) => {
|
||||
resolve = resolvePromise;
|
||||
reject = rejectPromise;
|
||||
});
|
||||
if (!resolve || !reject) {
|
||||
throw new Error("Expected deferred callbacks to be initialized");
|
||||
}
|
||||
return { promise, resolve, reject };
|
||||
}
|
||||
import { createDeferred } from "./test-helpers.deferred.js";
|
||||
|
||||
const listDevicePairingMock = vi.fn();
|
||||
const loadApnsRegistrationMock = vi.fn();
|
||||
|
||||
@@ -1,23 +1,11 @@
|
||||
import { describe, expect, it, vi } from "vitest";
|
||||
import { ErrorCodes } from "../../../packages/gateway-protocol/src/index.js";
|
||||
import type { OpenClawConfig } from "../../config/types.openclaw.js";
|
||||
import { createDeferred } from "../test-helpers.deferred.js";
|
||||
import { expectGatewayErrorResponse } from "./gateway-response.test-helpers.js";
|
||||
import { modelsHandlers } from "./models.js";
|
||||
import type { RespondFn } from "./types.js";
|
||||
|
||||
function createDeferred<T>() {
|
||||
let resolve: ((value: T) => void) | undefined;
|
||||
let reject: ((error: unknown) => void) | undefined;
|
||||
const promise = new Promise<T>((resolvePromise, rejectPromise) => {
|
||||
resolve = resolvePromise;
|
||||
reject = rejectPromise;
|
||||
});
|
||||
if (!resolve || !reject) {
|
||||
throw new Error("Expected deferred callbacks to be initialized");
|
||||
}
|
||||
return { promise, resolve, reject };
|
||||
}
|
||||
|
||||
function requestModelsList(params: {
|
||||
view: "configured" | "all";
|
||||
respond?: ReturnType<typeof vi.fn>;
|
||||
|
||||
@@ -6,24 +6,12 @@ import {
|
||||
loadGatewayModelCatalog,
|
||||
markGatewayModelCatalogStaleForReload,
|
||||
} from "./server-model-catalog.js";
|
||||
import { createDeferred } from "./test-helpers.deferred.js";
|
||||
|
||||
type LoadModelCatalogForTest = NonNullable<
|
||||
NonNullable<Parameters<typeof loadGatewayModelCatalog>[0]>["loadModelCatalog"]
|
||||
>;
|
||||
|
||||
function createDeferred<T>() {
|
||||
let resolve: ((value: T) => void) | undefined;
|
||||
let reject: ((error: unknown) => void) | undefined;
|
||||
const promise = new Promise<T>((resolvePromise, rejectPromise) => {
|
||||
resolve = resolvePromise;
|
||||
reject = rejectPromise;
|
||||
});
|
||||
if (!resolve || !reject) {
|
||||
throw new Error("Expected deferred callbacks to be initialized");
|
||||
}
|
||||
return { promise, resolve, reject };
|
||||
}
|
||||
|
||||
function model(id: string): GatewayModelChoice {
|
||||
return { id, name: id, provider: "openai" } as GatewayModelChoice;
|
||||
}
|
||||
|
||||
12
src/gateway/test-helpers.deferred.ts
Normal file
12
src/gateway/test-helpers.deferred.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
export function createDeferred<T>() {
|
||||
let resolve: ((value: T) => void) | undefined;
|
||||
let reject: ((error: unknown) => void) | undefined;
|
||||
const promise = new Promise<T>((resolvePromise, rejectPromise) => {
|
||||
resolve = resolvePromise;
|
||||
reject = rejectPromise;
|
||||
});
|
||||
if (!resolve || !reject) {
|
||||
throw new Error("Expected deferred callbacks to be initialized");
|
||||
}
|
||||
return { promise, resolve, reject };
|
||||
}
|
||||
Reference in New Issue
Block a user