From 86a54caee2311d279b33c52e5d0cfdf7cc3f2cef Mon Sep 17 00:00:00 2001 From: Shakker Date: Sat, 9 May 2026 04:45:10 +0100 Subject: [PATCH] test: tighten codex app empty array assertions --- extensions/codex/src/app-server/config.test.ts | 2 +- extensions/codex/src/app-server/dynamic-tools.test.ts | 2 +- .../codex/src/app-server/event-projector.test.ts | 4 ++-- .../outcome-fallback-runtime-contract.test.ts | 8 ++++---- .../codex/src/app-server/plugin-inventory.test.ts | 4 ++-- .../codex/src/app-server/plugin-thread-config.test.ts | 10 +++++----- extensions/codex/src/app-server/run-attempt.test.ts | 2 +- extensions/codex/src/conversation-binding.test.ts | 2 +- 8 files changed, 17 insertions(+), 17 deletions(-) diff --git a/extensions/codex/src/app-server/config.test.ts b/extensions/codex/src/app-server/config.test.ts index ad9c7864893..766a7461257 100644 --- a/extensions/codex/src/app-server/config.test.ts +++ b/extensions/codex/src/app-server/config.test.ts @@ -529,7 +529,7 @@ allowed_sandbox_modes = ["read-only", "workspace-write"] }); expect(config.codexPlugins).toBeUndefined(); - expect(resolveCodexPluginsPolicy(config).pluginPolicies).toEqual([]); + expect(resolveCodexPluginsPolicy(config).pluginPolicies).toStrictEqual([]); }); it("treats configured and environment commands as explicit overrides", () => { diff --git a/extensions/codex/src/app-server/dynamic-tools.test.ts b/extensions/codex/src/app-server/dynamic-tools.test.ts index 8546f8ee280..befd959d73d 100644 --- a/extensions/codex/src/app-server/dynamic-tools.test.ts +++ b/extensions/codex/src/app-server/dynamic-tools.test.ts @@ -456,7 +456,7 @@ describe("createCodexDynamicToolBridge", () => { }); expect(result).toEqual(expectInputText("Generated media reply.")); - expect(bridge.telemetry.toolMediaUrls).toEqual([]); + expect(bridge.telemetry.toolMediaUrls).toStrictEqual([]); }); it("still applies legacy codex app-server extension factories after middleware", async () => { diff --git a/extensions/codex/src/app-server/event-projector.test.ts b/extensions/codex/src/app-server/event-projector.test.ts index 1462c5fbc7b..f4f54987199 100644 --- a/extensions/codex/src/app-server/event-projector.test.ts +++ b/extensions/codex/src/app-server/event-projector.test.ts @@ -473,7 +473,7 @@ describe("CodexAppServerEventProjector", () => { }); const result = projector.buildResult(buildEmptyToolTelemetry()); - expect(result.assistantTexts).toEqual([]); + expect(result.assistantTexts).toStrictEqual([]); }); it("ignores notifications that omit top-level thread and turn ids", async () => { @@ -491,7 +491,7 @@ describe("CodexAppServerEventProjector", () => { }); const result = projector.buildResult(buildEmptyToolTelemetry()); - expect(result.assistantTexts).toEqual([]); + expect(result.assistantTexts).toStrictEqual([]); expect(result.lastAssistant).toBeUndefined(); }); diff --git a/extensions/codex/src/app-server/outcome-fallback-runtime-contract.test.ts b/extensions/codex/src/app-server/outcome-fallback-runtime-contract.test.ts index 0abb54cbe2c..1f60f87c5d1 100644 --- a/extensions/codex/src/app-server/outcome-fallback-runtime-contract.test.ts +++ b/extensions/codex/src/app-server/outcome-fallback-runtime-contract.test.ts @@ -105,7 +105,7 @@ describe("Outcome/fallback runtime contract - Codex app-server adapter", () => { const result = projector.buildResult(buildToolTelemetry()); - expect(result.assistantTexts).toEqual([]); + expect(result.assistantTexts).toStrictEqual([]); expect(result.lastAssistant).toBeUndefined(); expect(result.promptError).toBeNull(); }); @@ -155,7 +155,7 @@ describe("Outcome/fallback runtime contract - Codex app-server adapter", () => { const result = projector.buildResult(buildToolTelemetry()); - expect(result.assistantTexts).toEqual([]); + expect(result.assistantTexts).toStrictEqual([]); expect(result.lastAssistant).toBeUndefined(); expect(result.promptError).toBeNull(); expect(result.messagesSnapshot).toEqual( @@ -199,7 +199,7 @@ describe("Outcome/fallback runtime contract - Codex app-server adapter", () => { const result = projector.buildResult(buildToolTelemetry()); - expect(result.assistantTexts).toEqual([]); + expect(result.assistantTexts).toStrictEqual([]); expect(result.lastAssistant).toBeUndefined(); expect(result.promptError).toBeNull(); expect(result.messagesSnapshot).toEqual( @@ -227,7 +227,7 @@ describe("Outcome/fallback runtime contract - Codex app-server adapter", () => { }), ); - expect(result.assistantTexts).toEqual([]); + expect(result.assistantTexts).toStrictEqual([]); expect(result.didSendViaMessagingTool).toBe(true); expect(result.messagingToolSentTexts).toEqual(["sent out of band"]); }); diff --git a/extensions/codex/src/app-server/plugin-inventory.test.ts b/extensions/codex/src/app-server/plugin-inventory.test.ts index 2403bb8b90d..37a4b0e6d9f 100644 --- a/extensions/codex/src/app-server/plugin-inventory.test.ts +++ b/extensions/codex/src/app-server/plugin-inventory.test.ts @@ -228,7 +228,7 @@ describe("Codex plugin inventory", () => { }); expect(inventory.records[0]?.appOwnership).toBe("ambiguous"); - expect(inventory.records[0]?.ownedAppIds).toEqual([]); + expect(inventory.records[0]?.ownedAppIds).toStrictEqual([]); expect(inventory.diagnostics).toContainEqual( expect.objectContaining({ code: "app_ownership_ambiguous" }), ); @@ -266,7 +266,7 @@ describe("Codex plugin inventory", () => { expect(inventory.appInventory?.state).toBe("missing"); expect(inventory.records[0]?.ownedAppIds).toEqual(["google-calendar-app"]); - expect(inventory.records[0]?.apps).toEqual([]); + expect(inventory.records[0]?.apps).toStrictEqual([]); expect(inventory.diagnostics).toContainEqual( expect.objectContaining({ code: "app_inventory_missing" }), ); diff --git a/extensions/codex/src/app-server/plugin-thread-config.test.ts b/extensions/codex/src/app-server/plugin-thread-config.test.ts index 4347b37f633..56c5a93680f 100644 --- a/extensions/codex/src/app-server/plugin-thread-config.test.ts +++ b/extensions/codex/src/app-server/plugin-thread-config.test.ts @@ -75,7 +75,7 @@ describe("Codex plugin thread config", () => { allowDestructiveActions: true, mcpServerNames: ["google-calendar"], }); - expect(config.diagnostics).toEqual([]); + expect(config.diagnostics).toStrictEqual([]); }); it("maps destructive app access from global and per-plugin policy", async () => { @@ -158,7 +158,7 @@ describe("Codex plugin thread config", () => { }, }, }); - expect(config.diagnostics).toEqual([]); + expect(config.diagnostics).toStrictEqual([]); expect(config.policyContext.apps).toStrictEqual({}); }); @@ -208,7 +208,7 @@ describe("Codex plugin thread config", () => { }, }); expect(config.policyContext.apps).toStrictEqual({}); - expect(config.diagnostics).toEqual([]); + expect(config.diagnostics).toStrictEqual([]); }); it("waits for the initial app inventory before exposing plugin apps", async () => { @@ -260,7 +260,7 @@ describe("Codex plugin thread config", () => { expect(config.policyContext.apps["google-calendar-app"]).toMatchObject({ pluginName: "google-calendar", }); - expect(config.diagnostics).toEqual([]); + expect(config.diagnostics).toStrictEqual([]); expect( request.mock.calls.reduce((count, [method]) => count + (method === "app/list" ? 1 : 0), 0), ).toBe(1); @@ -391,7 +391,7 @@ describe("Codex plugin thread config", () => { expect(config.policyContext.apps["google-calendar-app"]).toMatchObject({ pluginName: "google-calendar", }); - expect(config.diagnostics).toEqual([]); + expect(config.diagnostics).toStrictEqual([]); expect(request.mock.calls.map(([method]) => method)).toContain("plugin/install"); expect(request.mock.calls.some(([method]) => method === "app/list")).toBe(true); expect(appListParams.map((params) => params.forceRefetch)).toContain(true); diff --git a/extensions/codex/src/app-server/run-attempt.test.ts b/extensions/codex/src/app-server/run-attempt.test.ts index d6858e6a355..d855b262ed1 100644 --- a/extensions/codex/src/app-server/run-attempt.test.ts +++ b/extensions/codex/src/app-server/run-attempt.test.ts @@ -2241,7 +2241,7 @@ describe("runCodexAppServerAttempt", () => { await expect(run).resolves.toMatchObject({ aborted: true }); await new Promise((resolve) => setImmediate(resolve)); - expect(unhandledRejections).toEqual([]); + expect(unhandledRejections).toStrictEqual([]); } finally { process.off("unhandledRejection", onUnhandledRejection); } diff --git a/extensions/codex/src/conversation-binding.test.ts b/extensions/codex/src/conversation-binding.test.ts index b143d3023bf..e1db67b4f0a 100644 --- a/extensions/codex/src/conversation-binding.test.ts +++ b/extensions/codex/src/conversation-binding.test.ts @@ -431,7 +431,7 @@ describe("codex conversation binding", () => { expect(replyText).not.toContain("<@U123>"); expect(replyText).not.toContain("[trusted](https://evil)"); expect(replyText).not.toContain("@here"); - expect(unhandledRejections).toEqual([]); + expect(unhandledRejections).toStrictEqual([]); } finally { process.off("unhandledRejection", onUnhandledRejection); }