25 lines
1.3 KiB
TypeScript
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"));
|
|
});
|