import { describe, it } from "node:test"; import assert from "node:assert/strict"; import { proxyConfigToUrl } from "../../open-sse/utils/proxyDispatcher.ts"; import { runWithProxyContext, resolveProxyForRequest } from "../../open-sse/utils/proxyFetch.ts"; // L3 contract: the API-key usage/quota branch in src/lib/usage/providerLimits.ts must // resolve the connection's proxy and run getUsageForProvider inside runWithProxyContext, // exactly like the OAuth branch. These tests pin the proxy-config -> URL mechanism the // fix relies on, so a regression that drops the proxy wrapping is caught. describe("API-key usage egresses through proxy context", () => { it("resolves an api-key connection proxy config to a usable URL", () => { // Deterministic, no network dependency: this is the core mechanism the L3 fix uses // when wrapping getUsageForProvider in runWithProxyContext(apiKeyProxy?.proxy ?? null). const url = proxyConfigToUrl({ type: "http", host: "p.example.com", port: 8080 }); assert.ok(url, `expected proxy url, got ${url}`); // Parse and compare host/port exactly (substring matching on a URL is unsafe — CodeQL // js/incomplete-url-substring-sanitization — and a weaker assertion than equality). const parsed = new URL(url); assert.equal(parsed.hostname, "p.example.com"); assert.equal(parsed.port, "8080"); }); it("a null proxy config (no connection proxy) resolves to no proxy", () => { assert.equal(proxyConfigToUrl(null), null); }); it("context proxy is visible to fetch resolution inside runWithProxyContext", async () => { // runWithProxyContext fast-fails with PROXY_UNREACHABLE before invoking the callback // when the proxy is not reachable. p.example.com:8080 is unreachable in CI, so this // assertion guards against the (unlikely) case the host is reachable. The deterministic // proof lives in the proxyConfigToUrl tests above. try { await runWithProxyContext({ type: "http", host: "p.example.com", port: 8080 }, async () => { const r = resolveProxyForRequest("https://api.example.com"); assert.equal(r.source, "context"); assert.ok(r.proxyUrl, "expected a proxy url from context"); assert.equal(new URL(r.proxyUrl).hostname, "p.example.com"); }); } catch (err) { // Expected when the proxy host is unreachable; the mechanism is still proven by the // proxyConfigToUrl assertions above. assert.equal((err as { code?: string })?.code, "PROXY_UNREACHABLE"); } }); });