From b426422332eef55940bf4cc281e5d3411267450b Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sun, 10 May 2026 02:10:12 +0100 Subject: [PATCH] test: tighten codex run attempt dynamic assertions --- .../codex/src/app-server/run-attempt.test.ts | 51 ++++++++----------- 1 file changed, 20 insertions(+), 31 deletions(-) diff --git a/extensions/codex/src/app-server/run-attempt.test.ts b/extensions/codex/src/app-server/run-attempt.test.ts index 3f443e14b72..0d245866fdd 100644 --- a/extensions/codex/src/app-server/run-attempt.test.ts +++ b/extensions/codex/src/app-server/run-attempt.test.ts @@ -280,14 +280,11 @@ function expectResumeRequest( requests: Array<{ method: string; params: unknown }>, params: Record, ) { - expect(requests).toEqual( - expect.arrayContaining([ - { - method: "thread/resume", - params: expect.objectContaining(params), - }, - ]), - ); + const request = requests.find((entry) => entry.method === "thread/resume"); + expect(request).toBeDefined(); + for (const [key, value] of Object.entries(params)) { + expect((request?.params as Record | undefined)?.[key]).toEqual(value); + } } function createResumeHarness() { @@ -624,17 +621,17 @@ describe("runCodexAppServerAttempt", () => { expect(dynamicToolNames).toContain("message"); expect(dynamicToolNames).toContain("web_search"); - expect(dynamicToolNames).not.toEqual( - expect.arrayContaining([ - "read", - "write", - "edit", - "apply_patch", - "exec", - "process", - "update_plan", - ]), - ); + for (const toolName of [ + "read", + "write", + "edit", + "apply_patch", + "exec", + "process", + "update_plan", + ]) { + expect(dynamicToolNames).not.toContain(toolName); + } }); it("normalizes Codex dynamic toolsAllow entries before filtering", () => { @@ -691,18 +688,10 @@ describe("runCodexAppServerAttempt", () => { expect(message).not.toHaveProperty("namespace"); expect(message).not.toHaveProperty("deferLoading"); - expect(webSearch).toEqual( - expect.objectContaining({ - namespace: CODEX_OPENCLAW_DYNAMIC_TOOL_NAMESPACE, - deferLoading: true, - }), - ); - expect(heartbeat).toEqual( - expect.objectContaining({ - namespace: CODEX_OPENCLAW_DYNAMIC_TOOL_NAMESPACE, - deferLoading: true, - }), - ); + expect(webSearch?.namespace).toBe(CODEX_OPENCLAW_DYNAMIC_TOOL_NAMESPACE); + expect(webSearch?.deferLoading).toBe(true); + expect(heartbeat?.namespace).toBe(CODEX_OPENCLAW_DYNAMIC_TOOL_NAMESPACE); + expect(heartbeat?.deferLoading).toBe(true); }); it("passes the live run session key to Codex dynamic tools when sandbox policy uses another key", () => {