test: accept current Codex stdio blocker
This commit is contained in:
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user