返回 DeepSeek-Reasonix
provider-protocol.test.ts
根目录 / desktop / frontend / src / __tests__ / provider-protocol.test.ts
1 import assert from "node:assert/strict";
2 import { providerProtocolLabel, providerEndpointMismatch, providerProtocolChoices } from "../lib/providerProtocol";
3 assert.equal(providerProtocolLabel("dashscope-responses"), "百炼 Responses (/responses)");
4 assert.equal(providerProtocolLabel("anthropic"), "Anthropic Messages (/v1/messages)");
5 assert.equal(providerEndpointMismatch("dashscope-responses", "https://api.deepseek.com/anthropic/v1/messages"), true);
6 assert.equal(providerEndpointMismatch("anthropic", "https://example.test/v1/messages"), false);
7 assert.equal(providerEndpointMismatch("openai", "https://example.test/v1/chat/completions?x=1"), false);
8 assert.equal(providerEndpointMismatch("responses", "https://example.test/v1"), false);
9 assert.equal(providerEndpointMismatch("responses", "https://example.test/gateway"), false);
10 assert.equal(providerEndpointMismatch("custom", "https://example.test/v1/messages"), false);
11 console.log("provider protocol: PASS");
12
13 const registered = ["anthropic", "dashscope-responses", "openai", "responses", "vendor-private"];
14 assert.deepEqual(providerProtocolChoices("openai", undefined, registered), ["openai", "anthropic", "responses"]);
15 assert.deepEqual(providerProtocolChoices("anthropic", "anthropic", registered), ["anthropic", "openai", "responses"]);
16 assert.ok(providerProtocolChoices("openai", "dashscope-responses", registered).includes("dashscope-responses"));
17 assert.ok(providerProtocolChoices("dashscope-responses", "dashscope-responses", registered).includes("dashscope-responses"));
18 assert.ok(providerProtocolChoices("openai", undefined, ["openai", "dashscope-responses"], true).includes("dashscope-responses"));
19 console.log("provider protocol choices: PASS");
20
20 lines TYPESCRIPT