test: tighten harness selection assertions

This commit is contained in:
Peter Steinberger
2026-05-09 17:33:47 +01:00
parent 72f304234f
commit 6cb4a8b2db

View File

@@ -197,33 +197,27 @@ describe("runAgentHarnessAttempt", () => {
it("uses the Codex harness by default for OpenAI agent model runs", async () => {
registerSuccessfulCodexHarness();
await expect(
runAgentHarnessAttempt({
...createAttemptParams(),
provider: "openai",
modelId: "gpt-5.4",
}),
).resolves.toMatchObject({
sessionIdUsed: "codex",
const result = await runAgentHarnessAttempt({
...createAttemptParams(),
provider: "openai",
modelId: "gpt-5.4",
});
expect(result.sessionIdUsed).toBe("codex");
expect(piRunAttempt).not.toHaveBeenCalled();
});
it("honors explicit PI runtime for OpenAI agent model runs", async () => {
await expect(
runAgentHarnessAttempt({
...createAttemptParams(providerRuntimeConfig("openai", "pi")),
provider: "openai",
modelId: "gpt-5.4",
}),
).resolves.toMatchObject({
sessionIdUsed: "pi",
const result = await runAgentHarnessAttempt({
...createAttemptParams(providerRuntimeConfig("openai", "pi")),
provider: "openai",
modelId: "gpt-5.4",
});
expect(result.sessionIdUsed).toBe("pi");
expect(piRunAttempt).toHaveBeenCalledTimes(1);
});
it("annotates non-ok harness result classifications for outer model fallback", async () => {
const classify = vi.fn(() => "empty" as const);
const classify = vi.fn<NonNullable<AgentHarness["classify"]>>(() => "empty" as const);
registerAgentHarness(
{
id: "codex",
@@ -239,14 +233,11 @@ describe("runAgentHarnessAttempt", () => {
const params = createAttemptParams();
const result = await runAgentHarnessAttempt(params);
expect(classify).toHaveBeenCalledWith(
expect.objectContaining({ sessionIdUsed: "codex" }),
params,
);
expect(result).toMatchObject({
agentHarnessId: "codex",
agentHarnessResultClassification: "empty",
});
const classifyCall = classify.mock.calls[0];
expect(classifyCall?.[0].sessionIdUsed).toBe("codex");
expect(classifyCall?.[1]).toBe(params);
expect(result.agentHarnessId).toBe("codex");
expect(result.agentHarnessResultClassification).toBe("empty");
});
it("fails for config-forced plugin harnesses when fallback is omitted", async () => {
@@ -405,15 +396,12 @@ describe("selectAgentHarness", () => {
expect(selectAgentHarness({ provider: "openai", modelId: "gpt-5.4", config }).id).toBe("codex");
await expect(
runAgentHarnessAttempt({
...createAttemptParams(config),
provider: "openai",
modelId: "gpt-5.4",
}),
).resolves.toMatchObject({
sessionIdUsed: "codex",
const result = await runAgentHarnessAttempt({
...createAttemptParams(config),
provider: "openai",
modelId: "gpt-5.4",
});
expect(result.sessionIdUsed).toBe("codex");
expect(piRunAttempt).not.toHaveBeenCalled();
});