const test = require("node:test"); const assert = require("node:assert/strict"); const { parseTdToolboxImport } = require("../electron/lib/deeplink"); const validUrl = "tdtoolbox://v1/import?resource=provider&app=codex&name=Sub2API&endpoint=https%3A%2F%2Fapi.example.com&apiKey=sk-test&model=gpt-5.5&source=sub2api&sourceGroupId=42"; test("parses a valid Sub2API provider deep link", () => { const result = parseTdToolboxImport(validUrl); assert.equal(result.ok, true); assert.deepEqual(result.input, { resource: "provider", app: "codex", name: "Sub2API", endpoint: "https://api.example.com", apiKey: "sk-test", model: "gpt-5.5", source: "sub2api", sourceGroupId: "42", }); }); test("rejects unsupported schemes, endpoints, and sources", () => { for (const url of [ "ccswitch://v1/import?resource=provider", validUrl.replace("endpoint=https%3A%2F%2Fapi.example.com", "endpoint=ftp%3A%2F%2Fapi.example.com"), validUrl.replace("source=sub2api", "source=unknown"), ]) { const result = parseTdToolboxImport(url); assert.equal(result.ok, false); assert.ok(result.error); } });