Files
OmniRoute/tests/unit/dashboard/providers/services/cliproxy-tab.test.ts
Markus Hartung 04dba0460e fix(responses-continuation): recover a real id/output for passthrough and translate-mode replies (#11434)
Retargetado para release/v3.8.51 (release/v3.8.50 está congelada — freeze issue #11439). Validado em lote combinado (batch-0824h2, junto de #11435/#11436/#11437) contra o tip de release/v3.8.51: typecheck:core limpo, gates estáticos OK, 127/127 testes focados passando.

Investigação sólida com repro real via container isolado, três causas independentes identificadas e corrigidas com testes de regressão dedicados para cada uma. Obrigado pela contribuição!
2026-08-24 19:57:12 -03:00

78 lines
2.7 KiB
TypeScript

/**
* T-13 — CliproxyServiceTab unit tests.
*
* Verifies module shape and the URL validation helper used by FallbackRoutingCard.
*/
import { describe, it } from "node:test";
import assert from "node:assert/strict";
// ── module shape ──────────────────────────────────────────────────────────────
describe("CliproxyServiceTab — module shape", () => {
it("exports CliproxyServiceTab function", async () => {
const mod =
await import("../../../../../src/app/(dashboard)/dashboard/providers/services/tabs/CliproxyServiceTab.tsx");
assert.equal(typeof mod.CliproxyServiceTab, "function");
});
});
describe("CliproxyServiceTab — account health", () => {
it("exports the read-only account health card", async () => {
const mod =
await import("../../../../../src/app/(dashboard)/dashboard/providers/services/components/CliproxyAccountHealthCard.tsx");
assert.equal(typeof mod.CliproxyAccountHealthCard, "function");
});
});
// ── URL validation (mirrors isValidUrl inside the tab) ────────────────────────
function isValidUrl(value: string): boolean {
try {
const url = new URL(value);
return url.protocol === "http:" || url.protocol === "https:";
} catch {
return false;
}
}
describe("isValidUrl — fallback URL guard", () => {
it("accepts http:// URLs", () => {
assert.ok(isValidUrl("http://127.0.0.1:8317"));
assert.ok(isValidUrl("http://localhost:8317"));
});
it("accepts https:// URLs", () => {
assert.ok(isValidUrl("https://example.com"));
});
it("rejects bare hostnames", () => {
assert.equal(isValidUrl("127.0.0.1:8317"), false);
});
it("rejects empty string", () => {
assert.equal(isValidUrl(""), false);
});
it("rejects non-http protocols", () => {
assert.equal(isValidUrl("ftp://example.com"), false);
assert.equal(isValidUrl("file:///etc/hosts"), false);
});
});
// ── fallback defaults ─────────────────────────────────────────────────────────
describe("FallbackRoutingCard — default values", () => {
it("default fallback codes match production default", () => {
const DEFAULT_CODES = "502,401,403,429,503";
const codes = DEFAULT_CODES.split(",").map((c) => parseInt(c, 10));
assert.deepEqual(codes, [502, 401, 403, 429, 503]);
});
it("default CLIProxyAPI URL matches installed port", () => {
const DEFAULT_URL = "http://127.0.0.1:8317";
assert.ok(isValidUrl(DEFAULT_URL));
assert.ok(DEFAULT_URL.includes("8317"));
});
});