mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-09 20:30:44 +00:00
test: tighten codex app empty array assertions
This commit is contained in:
@@ -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", () => {
|
||||
|
||||
@@ -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 () => {
|
||||
|
||||
@@ -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();
|
||||
});
|
||||
|
||||
|
||||
@@ -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"]);
|
||||
});
|
||||
|
||||
@@ -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" }),
|
||||
);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user