

























@@ -91,26 +91,45 @@ describe("deepinfra speech provider", () => {
9191timeoutMs: 12_345,
9292});
939394-expect(resolveProviderHttpRequestConfigMock).toHaveBeenCalledWith(
95-expect.objectContaining({
96-provider: "deepinfra",
97-capability: "audio",
98-baseUrl: "https://api.deepinfra.com/v1/openai",
99-}),
100-);
101-expect(postJsonRequestMock).toHaveBeenCalledWith(
102-expect.objectContaining({
103-url: "https://api.deepinfra.com/v1/openai/audio/speech",
104-timeoutMs: 12_345,
105-body: {
106-model: "hexgrad/Kokoro-82M",
107-input: "hello",
108-voice: "af_alloy",
109-response_format: "mp3",
110-speed: 1.2,
94+expect(resolveProviderHttpRequestConfigMock.mock.calls).toEqual([
95+[
96+{
97+baseUrl: "https://api.deepinfra.com/v1/openai",
98+defaultBaseUrl: "https://api.deepinfra.com/v1/openai",
99+allowPrivateNetwork: false,
100+defaultHeaders: {
101+Authorization: "Bearer sk-deepinfra",
102+"Content-Type": "application/json",
103+},
104+provider: "deepinfra",
105+capability: "audio",
106+transport: "http",
111107},
112-}),
113-);
108+],
109+]);
110+expect(postJsonRequestMock).toHaveBeenCalledOnce();
111+const [postRequest] = postJsonRequestMock.mock.calls[0] ?? [];
112+const postRequestHeaders = Reflect.get(postRequest ?? {}, "headers");
113+expect(postRequestHeaders).toBeInstanceOf(Headers);
114+expect(Object.fromEntries((postRequestHeaders as Headers).entries())).toEqual({
115+authorization: "Bearer sk-deepinfra",
116+"content-type": "application/json",
117+});
118+expect(postRequest).toEqual({
119+url: "https://api.deepinfra.com/v1/openai/audio/speech",
120+headers: postRequestHeaders,
121+timeoutMs: 12_345,
122+body: {
123+model: "hexgrad/Kokoro-82M",
124+input: "hello",
125+voice: "af_alloy",
126+response_format: "mp3",
127+speed: 1.2,
128+},
129+fetchFn: fetch,
130+allowPrivateNetwork: false,
131+dispatcherPolicy: undefined,
132+});
114133expect(result.audioBuffer).toEqual(Buffer.from([1, 2, 3]));
115134expect(result.outputFormat).toBe("mp3");
116135expect(result.fileExtension).toBe(".mp3");
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。