mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-07-31 12:22:14 +03:00
25 lines
1.4 KiB
TypeScript
25 lines
1.4 KiB
TypeScript
import { test } from "node:test";
|
|
import assert from "node:assert/strict";
|
|
import { resolveGeminiTarget, buildGeminiRecipe, buildGeminiSettings } from "../../../bin/cli/commands/setup-gemini.mjs";
|
|
|
|
test("resolveGeminiTarget strips /v1beta and /v1 to the root (SDK appends /v1beta)", () => {
|
|
assert.equal(resolveGeminiTarget({ remote: "http://vps:20128/v1beta" }).baseUrl, "http://vps:20128");
|
|
assert.equal(resolveGeminiTarget({ remote: "http://vps:20128/v1/" }).baseUrl, "http://vps:20128");
|
|
assert.equal(resolveGeminiTarget({ remote: "http://vps:20128" }).baseUrl, "http://vps:20128");
|
|
});
|
|
test("resolveGeminiTarget: explicit --api-key wins", () => {
|
|
assert.equal(resolveGeminiTarget({ remote: "http://x:20128", apiKey: "sk-x" }).apiKey, "sk-x");
|
|
});
|
|
test("buildGeminiRecipe sets GOOGLE_GEMINI_BASE_URL (root) + GEMINI_API_KEY env-ref + model", () => {
|
|
const r = buildGeminiRecipe({ baseUrl: "http://vps:20128", model: "gemini-3-flash" });
|
|
assert.ok(r.includes("GOOGLE_GEMINI_BASE_URL=http://vps:20128"));
|
|
assert.ok(r.includes("GEMINI_API_KEY=$OMNIROUTE_API_KEY"));
|
|
assert.ok(r.includes("GEMINI_MODEL=gemini-3-flash"));
|
|
assert.ok(r.includes("gemini -p"));
|
|
});
|
|
test("buildGeminiSettings sets model, preserves other settings", () => {
|
|
const s = buildGeminiSettings({ theme: "Default" }, { model: "gemini-3-flash" });
|
|
assert.equal(s.model, "gemini-3-flash");
|
|
assert.equal(s.theme, "Default");
|
|
});
|