From 5d41fd449731c8c7d143d9cb1a012d2270d7f806 Mon Sep 17 00:00:00 2001 From: Tak Hoffman <781889+Takhoffman@users.noreply.github.com> Date: Wed, 18 Mar 2026 09:42:52 -0500 Subject: [PATCH] test: extend plugin contract setup timeouts --- src/plugins/contracts/catalog.contract.test.ts | 4 +++- src/plugins/contracts/runtime.contract.test.ts | 4 +++- src/plugins/contracts/wizard.contract.test.ts | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/plugins/contracts/catalog.contract.test.ts b/src/plugins/contracts/catalog.contract.test.ts index 4b775bd8061..04c13df00b5 100644 --- a/src/plugins/contracts/catalog.contract.test.ts +++ b/src/plugins/contracts/catalog.contract.test.ts @@ -5,6 +5,8 @@ import { expectCodexMissingAuthHint, } from "../provider-runtime.test-support.js"; +const CONTRACT_SETUP_TIMEOUT_MS = 300_000; + type ResolvePluginProviders = typeof import("../providers.js").resolvePluginProviders; type ResolveOwningPluginIdsForProvider = typeof import("../providers.js").resolveOwningPluginIdsForProvider; @@ -74,7 +76,7 @@ describe("provider catalog contract", () => { resolveProviderBuiltInModelSuppression, } = await import("../provider-runtime.js")); resetProviderRuntimeHookCacheForTest(); - }); + }, CONTRACT_SETUP_TIMEOUT_MS); it("keeps codex-only missing-auth hints wired through the provider runtime", () => { expectCodexMissingAuthHint(buildProviderMissingAuthMessageWithPlugin); diff --git a/src/plugins/contracts/runtime.contract.test.ts b/src/plugins/contracts/runtime.contract.test.ts index ba6e7df1187..4edb0adbe5e 100644 --- a/src/plugins/contracts/runtime.contract.test.ts +++ b/src/plugins/contracts/runtime.contract.test.ts @@ -7,6 +7,8 @@ import { createProviderUsageFetch, makeResponse } from "../../test-utils/provide import type { OpenClawPluginApi, ProviderPlugin } from "../types.js"; import type { ProviderRuntimeModel } from "../types.js"; +const CONTRACT_SETUP_TIMEOUT_MS = 300_000; + const getOAuthApiKeyMock = vi.hoisted(() => vi.fn()); const refreshQwenPortalCredentialsMock = vi.hoisted(() => vi.fn()); @@ -80,7 +82,7 @@ describe("provider runtime contract", () => { qwenPortalPlugin = (await import("../../../extensions/qwen-portal-auth/index.js")).default; getOAuthApiKeyMock.mockReset(); refreshQwenPortalCredentialsMock.mockReset(); - }); + }, CONTRACT_SETUP_TIMEOUT_MS); describe("anthropic", () => { it("owns anthropic 4.6 forward-compat resolution", () => { diff --git a/src/plugins/contracts/wizard.contract.test.ts b/src/plugins/contracts/wizard.contract.test.ts index 6e97556d91e..7beb5b75d4e 100644 --- a/src/plugins/contracts/wizard.contract.test.ts +++ b/src/plugins/contracts/wizard.contract.test.ts @@ -1,6 +1,8 @@ import { beforeEach, describe, expect, it, vi } from "vitest"; import type { ProviderPlugin } from "../types.js"; +const CONTRACT_SETUP_TIMEOUT_MS = 300_000; + const resolvePluginProvidersMock = vi.fn(); let buildProviderPluginMethodChoice: typeof import("../provider-wizard.js").buildProviderPluginMethodChoice; @@ -83,7 +85,7 @@ describe("provider wizard contract", () => { resolveProviderPluginChoice, resolveProviderWizardOptions, } = await import("../provider-wizard.js")); - }); + }, CONTRACT_SETUP_TIMEOUT_MS); it("exposes every registered provider setup choice through the shared wizard layer", () => { const options = resolveProviderWizardOptions({