Files
ai_ops/tests/config.test.ts

31 lines
1.0 KiB
TypeScript

import test from "node:test";
import assert from "node:assert/strict";
import { loadConfig } from "../src/config.js";
test("loads defaults and freezes config", () => {
const config = loadConfig({});
assert.equal(config.agentManager.maxConcurrentAgents, 4);
assert.equal(config.orchestration.maxDepth, 4);
assert.equal(config.provisioning.portRange.basePort, 36000);
assert.equal(config.discovery.fileRelativePath, ".agent-context/resources.json");
assert.equal(config.security.violationHandling, "hard_abort");
assert.equal(config.security.commandTimeoutMs, 120000);
assert.equal(Object.isFrozen(config), true);
assert.equal(Object.isFrozen(config.orchestration), true);
});
test("validates boolean env values", () => {
assert.throws(
() => loadConfig({ CODEX_SKIP_GIT_CHECK: "maybe" }),
/must be "true" or "false"/,
);
});
test("validates security violation mode", () => {
assert.throws(
() => loadConfig({ AGENT_SECURITY_VIOLATION_MODE: "retry_forever" }),
/invalid_union|Invalid input/i,
);
});