test: accept current Codex stdio blocker

This commit is contained in:
Code Queue Review
2026-05-23 16:37:22 +00:00
parent 493afe71c9
commit fa904e2a5c
2 changed files with 34 additions and 15 deletions
+17 -8
View File
@@ -13,11 +13,20 @@ import { runCli } from "../tools/hwlab-cli/lib/cli.mjs";
const repoRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..");
const children = [];
const CODEX_STDIO_FEASIBILITY_BLOCKERS = new Set([
"codex_cli_binary_missing",
"codex_stdio_supervisor_disabled",
"codex_stdio_egress_boundary"
]);
function logOk(name) {
process.stdout.write(`[m1-smoke] ok ${name}\n`);
}
function assertCodexStdioFeasibilityBlocker(value, label = "codex stdio blocker") {
assert.equal(CODEX_STDIO_FEASIBILITY_BLOCKERS.has(value), true, `${label}: ${value}`);
}
function freePort() {
return new Promise((resolve, reject) => {
const server = net.createServer();
@@ -205,16 +214,16 @@ async function smokeCloudApi() {
assert.equal(health.body.db.secretRefs[0].secretName, "hwlab-cloud-api-dev-db");
assert.equal(health.body.db.secretRefs[0].redacted, true);
assert.equal(health.body.codeAgent.status, "partial");
assert.match(health.body.codeAgent.blocker, /Codex stdio|long-lived/u);
assert.equal(health.body.codeAgent.reason, "codex_stdio_supervisor_disabled");
assert.match(health.body.codeAgent.blocker, /Codex stdio|long-lived|Codex CLI command/u);
assertCodexStdioFeasibilityBlocker(health.body.codeAgent.reason, "health codeAgent reason");
assert.equal(health.body.readiness.provider.status, "blocked");
assert.equal(health.body.readiness.provider.blocker, "provider_config_blocked");
assert.equal(health.body.readiness.sessionRunner.status, "read_only_ready");
assert.equal(health.body.readiness.sessionRunner.ready, true);
assert.equal(health.body.readiness.codexStdio.status, "blocked");
assert.equal(health.body.readiness.codexStdio.blocker, "codex_stdio_supervisor_disabled");
assertCodexStdioFeasibilityBlocker(health.body.readiness.codexStdio.blocker, "health readiness codexStdio blocker");
assert.equal(health.body.readiness.codeAgent.currentBlockers.includes("provider_config_blocked"), true);
assert.equal(health.body.readiness.codeAgent.currentBlockers.includes("codex_stdio_supervisor_disabled"), true);
assert.equal(health.body.readiness.codeAgent.currentBlockers.includes(health.body.readiness.codexStdio.blocker), true);
assert.ok(health.body.codeAgent.missingEnv.includes("OPENAI_API_KEY"));
assert.equal(health.body.codeAgent.secretRefs[0].secretName, "hwlab-code-agent-provider");
assert.equal(health.body.codeAgent.secretRefs[0].secretKey, "openai-api-key");
@@ -236,7 +245,7 @@ async function smokeCloudApi() {
assert.ok(adapter.body.methods.includes("evidence.record.query"));
assert.equal(adapter.body.codeAgent.endpoint, "POST /v1/agent/chat");
assert.equal(adapter.body.codeAgent.status, "partial");
assert.match(adapter.body.codeAgent.blocker, /Codex stdio|long-lived/u);
assert.match(adapter.body.codeAgent.blocker, /Codex stdio|long-lived|Codex CLI command/u);
assert.equal(adapter.body.codeAgent.provider, "codex-cli");
assert.equal(adapter.body.codeAgent.model, "gpt-m1-local");
assert.equal(adapter.body.codeAgent.backend, "hwlab-cloud-api/codex-cli");
@@ -271,13 +280,13 @@ async function smokeCloudApi() {
assert.equal(agentChat.body.provider, "codex-cli");
assert.equal(agentChat.body.model, "gpt-m1-local");
assert.equal(agentChat.body.backend, "hwlab-cloud-api/codex-cli");
assert.equal(agentChat.body.error.code, "provider_unavailable");
assert.equal(agentChat.body.error.code, "codex_cli_binary_missing");
assert.match(agentChat.body.error.message, /Codex CLI command is not available/);
assert.deepEqual(agentChat.body.error.missingCommands, ["codex"]);
assert.ok(agentChat.body.error.missingEnv.includes("OPENAI_API_KEY"));
assert.equal(agentChat.body.availability.status, "partial");
assert.match(agentChat.body.availability.blocker, /Codex stdio|long-lived/u);
assert.equal(agentChat.body.availability.reason, "codex_stdio_supervisor_disabled");
assert.match(agentChat.body.availability.blocker, /Codex stdio|long-lived|Codex CLI command/u);
assertCodexStdioFeasibilityBlocker(agentChat.body.availability.reason, "agent chat availability reason");
assert.equal(agentChat.body.availability.fallback.status, "blocked");
assert.equal(agentChat.body.availability.fallback.reason, "provider_unavailable");
assert.equal(agentChat.body.availability.secretRefs[0].secretName, "hwlab-code-agent-provider");