Files
2026-07-13 13:39:12 +08:00

25 lines
1.3 KiB
TypeScript

import { test } from "node:test";
import assert from "node:assert/strict";
import { resolveGooseTarget, buildGooseConfig, buildGooseEnvRecipe } from "../../../bin/cli/commands/setup-goose.mjs";
test("resolveGooseTarget strips /v1 (Goose appends it)", () => {
assert.equal(resolveGooseTarget({ remote: "http://vps:20128/v1/" }).host, "http://vps:20128");
assert.equal(resolveGooseTarget({ remote: "http://vps:20128" }).host, "http://vps:20128");
});
test("resolveGooseTarget: explicit --api-key wins", () => {
assert.equal(resolveGooseTarget({ remote: "http://x:20128", apiKey: "sk-x" }).apiKey, "sk-x");
});
test("buildGooseConfig sets GOOSE_PROVIDER/MODEL + OPENAI_HOST (root), preserves rest", () => {
const c = buildGooseConfig({ GOOSE_MODE: "auto" }, { host: "http://vps:20128", model: "glm/glm-5.2" });
assert.equal(c.GOOSE_PROVIDER, "openai");
assert.equal(c.GOOSE_MODEL, "glm/glm-5.2");
assert.equal(c.OPENAI_HOST, "http://vps:20128");
assert.equal(c.GOOSE_MODE, "auto");
});
test("buildGooseEnvRecipe references the env key (secret off disk)", () => {
const r = buildGooseEnvRecipe({ host: "http://vps:20128", model: "m" });
assert.ok(r.includes("OPENAI_HOST=http://vps:20128"));
assert.ok(r.includes("OPENAI_API_KEY=$OMNIROUTE_API_KEY"));
assert.ok(r.includes("GOOSE_PROVIDER=openai"));
});