perf: skip provider plugin loading in extra param tests

This commit is contained in:
Peter Steinberger
2026-04-24 10:02:57 +01:00
parent b7b66a6047
commit 6831579267
9 changed files with 17 additions and 26 deletions

View File

@@ -10,6 +10,7 @@ import {
beforeEach(() => {
extraParamsTesting.setProviderRuntimeDepsForTest({
prepareProviderExtraParams: ({ context }) => context.extraParams,
resolveProviderExtraParamsForTransport: () => undefined,
wrapProviderStreamFn: (params) => {
if (params.provider === "moonshot") {
const thinkingType = resolveMoonshotThinkingType({

View File

@@ -11,6 +11,7 @@ import {
beforeEach(() => {
extraParamsTesting.setProviderRuntimeDepsForTest({
prepareProviderExtraParams: ({ context }) => context.extraParams,
resolveProviderExtraParamsForTransport: () => undefined,
wrapProviderStreamFn: (params) => {
if (params.provider !== "openrouter") {
return params.context.streamFn;

View File

@@ -324,6 +324,7 @@ function installFullProviderRuntimeDepsForTest() {
transport: "auto",
};
},
resolveProviderExtraParamsForTransport: () => undefined,
wrapProviderStreamFn: (params) => {
if (params.provider === "openai") {
return createTestOpenAIProviderWrapper(params, true);
@@ -398,6 +399,7 @@ function installFullProviderRuntimeDepsForTest() {
function withMinimalProviderRuntimeDepsForTest<T>(run: () => T): T {
extraParamsTesting.setProviderRuntimeDepsForTest({
prepareProviderExtraParams: () => undefined,
resolveProviderExtraParamsForTransport: () => undefined,
wrapProviderStreamFn: (params) => params.context.streamFn,
});
try {

View File

@@ -1,5 +1,6 @@
import type { StreamFn } from "@mariozechner/pi-agent-core";
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
import { createPiAiStreamSimpleMock } from "../../../test/helpers/agents/pi-ai-stream-simple-mock.js";
import { isOpenRouterAnthropicModelRef } from "./anthropic-family-cache-semantics.js";
import { __testing as extraParamsTesting, applyExtraParamsToAgent } from "./extra-params.js";
import { resolveCacheRetention } from "./prompt-cache-retention.js";
@@ -36,9 +37,12 @@ vi.mock("./logger.js", () => ({
},
}));
vi.mock("@mariozechner/pi-ai", () => createPiAiStreamSimpleMock());
beforeEach(() => {
extraParamsTesting.setProviderRuntimeDepsForTest({
prepareProviderExtraParams: () => undefined,
resolveProviderExtraParamsForTransport: () => undefined,
wrapProviderStreamFn: () => undefined,
});
});

View File

@@ -4,15 +4,12 @@ import { createPiAiStreamSimpleMock } from "../../../test/helpers/agents/pi-ai-s
import { __testing as extraParamsTesting } from "./extra-params.js";
import { runExtraParamsCase } from "./extra-params.test-support.js";
vi.mock("@mariozechner/pi-ai", async () =>
createPiAiStreamSimpleMock(() =>
vi.importActual<typeof import("@mariozechner/pi-ai")>("@mariozechner/pi-ai"),
),
);
vi.mock("@mariozechner/pi-ai", () => createPiAiStreamSimpleMock());
beforeEach(() => {
extraParamsTesting.setProviderRuntimeDepsForTest({
prepareProviderExtraParams: (params) => params.context.extraParams,
resolveProviderExtraParamsForTransport: () => undefined,
wrapProviderStreamFn: () => undefined,
});
});

View File

@@ -1,23 +1,15 @@
import type { Model } from "@mariozechner/pi-ai";
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
import { createPiAiStreamSimpleMock } from "../../../test/helpers/agents/pi-ai-stream-simple-mock.js";
import { __testing as extraParamsTesting } from "./extra-params.js";
import { runExtraParamsCase } from "./extra-params.test-support.js";
vi.mock("@mariozechner/pi-ai", async () => {
const original =
await vi.importActual<typeof import("@mariozechner/pi-ai")>("@mariozechner/pi-ai");
return {
...original,
streamSimple: vi.fn(() => ({
push: vi.fn(),
result: vi.fn(),
})),
};
});
vi.mock("@mariozechner/pi-ai", () => createPiAiStreamSimpleMock());
beforeEach(() => {
extraParamsTesting.setProviderRuntimeDepsForTest({
prepareProviderExtraParams: ({ context }) => context.extraParams,
resolveProviderExtraParamsForTransport: () => undefined,
wrapProviderStreamFn: ({ provider, context }) => {
if (provider !== "local-provider" || context.thinkingLevel !== "off") {
return context.streamFn;

View File

@@ -56,6 +56,7 @@ export function runExtraParamsCase<
if (params.mockProviderRuntime === true) {
extraParamsTesting.setProviderRuntimeDepsForTest({
prepareProviderExtraParams: () => undefined,
resolveProviderExtraParamsForTransport: () => undefined,
wrapProviderStreamFn: () => undefined,
});
}

View File

@@ -3,11 +3,7 @@ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
import { createPiAiStreamSimpleMock } from "../../../test/helpers/agents/pi-ai-stream-simple-mock.js";
import type { OpenClawConfig } from "../../config/config.js";
vi.mock("@mariozechner/pi-ai", async () =>
createPiAiStreamSimpleMock(() =>
vi.importActual<typeof import("@mariozechner/pi-ai")>("@mariozechner/pi-ai"),
),
);
vi.mock("@mariozechner/pi-ai", () => createPiAiStreamSimpleMock());
let runExtraParamsCase: typeof import("./extra-params.test-support.js").runExtraParamsCase;
let extraParamsTesting: typeof import("./extra-params.js").__testing;
@@ -46,6 +42,7 @@ describe("extra-params: provider tool_stream support", () => {
}
return extraParams;
},
resolveProviderExtraParamsForTransport: () => undefined,
wrapProviderStreamFn: (params) => {
const extraParams = params.context.extraParams ?? {};
if (extraParams.tool_stream !== true) {

View File

@@ -2,12 +2,8 @@ import { vi } from "vitest";
type PiAiMockModule = Record<string, unknown>;
export async function createPiAiStreamSimpleMock(
loadActual: () => Promise<PiAiMockModule>,
): Promise<PiAiMockModule> {
const original = await loadActual();
export function createPiAiStreamSimpleMock(): PiAiMockModule {
return {
...original,
streamSimple: vi.fn(() => ({
push: vi.fn(),
result: vi.fn(async () => undefined),