From 9d0f01bf92b458f1cde42845410096c9ba1d7379 Mon Sep 17 00:00:00 2001 From: daniel-lxs Date: Thu, 30 Oct 2025 10:15:42 -0500 Subject: [PATCH] Fix test expectations for AbortSignal parameter - Update litellm, lmstudio, modelCache, and vercel-ai-gateway tests - Tests now expect optional AbortSignal parameter (undefined when not provided) - All 52 tests in affected files now passing --- .../fetchers/__tests__/litellm.spec.ts | 20 +++++++++---------- .../fetchers/__tests__/lmstudio.test.ts | 12 +++++------ .../fetchers/__tests__/modelCache.spec.ts | 10 +++++++--- .../__tests__/vercel-ai-gateway.spec.ts | 4 +++- 4 files changed, 26 insertions(+), 20 deletions(-) diff --git a/src/api/providers/fetchers/__tests__/litellm.spec.ts b/src/api/providers/fetchers/__tests__/litellm.spec.ts index a93c21ee1b..aa7257f7e7 100644 --- a/src/api/providers/fetchers/__tests__/litellm.spec.ts +++ b/src/api/providers/fetchers/__tests__/litellm.spec.ts @@ -35,7 +35,7 @@ describe("getLiteLLMModels", () => { "Content-Type": "application/json", ...DEFAULT_HEADERS, }, - timeout: 5000, + signal: undefined, }) }) @@ -56,7 +56,7 @@ describe("getLiteLLMModels", () => { "Content-Type": "application/json", ...DEFAULT_HEADERS, }, - timeout: 5000, + signal: undefined, }) }) @@ -77,7 +77,7 @@ describe("getLiteLLMModels", () => { "Content-Type": "application/json", ...DEFAULT_HEADERS, }, - timeout: 5000, + signal: undefined, }) }) @@ -98,7 +98,7 @@ describe("getLiteLLMModels", () => { "Content-Type": "application/json", ...DEFAULT_HEADERS, }, - timeout: 5000, + signal: undefined, }) }) @@ -119,7 +119,7 @@ describe("getLiteLLMModels", () => { "Content-Type": "application/json", ...DEFAULT_HEADERS, }, - timeout: 5000, + signal: undefined, }) }) @@ -140,7 +140,7 @@ describe("getLiteLLMModels", () => { "Content-Type": "application/json", ...DEFAULT_HEADERS, }, - timeout: 5000, + signal: undefined, }) }) @@ -161,7 +161,7 @@ describe("getLiteLLMModels", () => { "Content-Type": "application/json", ...DEFAULT_HEADERS, }, - timeout: 5000, + signal: undefined, }) }) @@ -213,7 +213,7 @@ describe("getLiteLLMModels", () => { "Content-Type": "application/json", ...DEFAULT_HEADERS, }, - timeout: 5000, + signal: undefined, }) expect(result).toEqual({ @@ -254,7 +254,7 @@ describe("getLiteLLMModels", () => { "Content-Type": "application/json", ...DEFAULT_HEADERS, }, - timeout: 5000, + signal: undefined, }) }) @@ -381,7 +381,7 @@ describe("getLiteLLMModels", () => { expect(mockedAxios.get).toHaveBeenCalledWith( "http://localhost:4000/v1/model/info", expect.objectContaining({ - timeout: 5000, + signal: undefined, }), ) }) diff --git a/src/api/providers/fetchers/__tests__/lmstudio.test.ts b/src/api/providers/fetchers/__tests__/lmstudio.test.ts index a1f06d2e25..d33c991a1f 100644 --- a/src/api/providers/fetchers/__tests__/lmstudio.test.ts +++ b/src/api/providers/fetchers/__tests__/lmstudio.test.ts @@ -113,7 +113,7 @@ describe("LMStudio Fetcher", () => { const result = await getLMStudioModels(baseUrl) expect(mockedAxios.get).toHaveBeenCalledTimes(1) - expect(mockedAxios.get).toHaveBeenCalledWith(`${baseUrl}/v1/models`) + expect(mockedAxios.get).toHaveBeenCalledWith(`${baseUrl}/v1/models`, { signal: undefined }) expect(MockedLMStudioClientConstructor).toHaveBeenCalledTimes(1) expect(MockedLMStudioClientConstructor).toHaveBeenCalledWith({ baseUrl: lmsUrl }) expect(mockListDownloadedModels).toHaveBeenCalledTimes(1) @@ -133,7 +133,7 @@ describe("LMStudio Fetcher", () => { const result = await getLMStudioModels(baseUrl) expect(mockedAxios.get).toHaveBeenCalledTimes(1) - expect(mockedAxios.get).toHaveBeenCalledWith(`${baseUrl}/v1/models`) + expect(mockedAxios.get).toHaveBeenCalledWith(`${baseUrl}/v1/models`, { signal: undefined }) expect(MockedLMStudioClientConstructor).toHaveBeenCalledTimes(1) expect(MockedLMStudioClientConstructor).toHaveBeenCalledWith({ baseUrl: lmsUrl }) expect(mockListDownloadedModels).toHaveBeenCalledTimes(1) @@ -373,7 +373,7 @@ describe("LMStudio Fetcher", () => { await getLMStudioModels("") - expect(mockedAxios.get).toHaveBeenCalledWith(`${defaultBaseUrl}/v1/models`) + expect(mockedAxios.get).toHaveBeenCalledWith(`${defaultBaseUrl}/v1/models`, { signal: undefined }) expect(MockedLMStudioClientConstructor).toHaveBeenCalledWith({ baseUrl: defaultLmsUrl }) }) @@ -385,7 +385,7 @@ describe("LMStudio Fetcher", () => { await getLMStudioModels(httpsBaseUrl) - expect(mockedAxios.get).toHaveBeenCalledWith(`${httpsBaseUrl}/v1/models`) + expect(mockedAxios.get).toHaveBeenCalledWith(`${httpsBaseUrl}/v1/models`, { signal: undefined }) expect(MockedLMStudioClientConstructor).toHaveBeenCalledWith({ baseUrl: wssLmsUrl }) }) @@ -407,7 +407,7 @@ describe("LMStudio Fetcher", () => { const result = await getLMStudioModels(baseUrl) expect(mockedAxios.get).toHaveBeenCalledTimes(1) - expect(mockedAxios.get).toHaveBeenCalledWith(`${baseUrl}/v1/models`) + expect(mockedAxios.get).toHaveBeenCalledWith(`${baseUrl}/v1/models`, { signal: undefined }) expect(MockedLMStudioClientConstructor).not.toHaveBeenCalled() expect(mockListLoaded).not.toHaveBeenCalled() expect(consoleErrorSpy).toHaveBeenCalledWith( @@ -426,7 +426,7 @@ describe("LMStudio Fetcher", () => { const result = await getLMStudioModels(baseUrl) expect(mockedAxios.get).toHaveBeenCalledTimes(1) - expect(mockedAxios.get).toHaveBeenCalledWith(`${baseUrl}/v1/models`) + expect(mockedAxios.get).toHaveBeenCalledWith(`${baseUrl}/v1/models`, { signal: undefined }) expect(MockedLMStudioClientConstructor).not.toHaveBeenCalled() expect(mockListLoaded).not.toHaveBeenCalled() expect(consoleInfoSpy).toHaveBeenCalledWith(`Error connecting to LMStudio at ${baseUrl}`) diff --git a/src/api/providers/fetchers/__tests__/modelCache.spec.ts b/src/api/providers/fetchers/__tests__/modelCache.spec.ts index 2a72ef1cc5..719d553395 100644 --- a/src/api/providers/fetchers/__tests__/modelCache.spec.ts +++ b/src/api/providers/fetchers/__tests__/modelCache.spec.ts @@ -69,7 +69,11 @@ describe("getModels with new GetModelsOptions", () => { baseUrl: "http://localhost:4000", }) - expect(mockGetLiteLLMModels).toHaveBeenCalledWith("test-api-key", "http://localhost:4000") + expect(mockGetLiteLLMModels).toHaveBeenCalledWith( + "test-api-key", + "http://localhost:4000", + expect.any(AbortSignal), + ) expect(result).toEqual(mockModels) }) @@ -103,7 +107,7 @@ describe("getModels with new GetModelsOptions", () => { const result = await getModels({ provider: "requesty", apiKey: DUMMY_REQUESTY_KEY }) - expect(mockGetRequestyModels).toHaveBeenCalledWith(undefined, DUMMY_REQUESTY_KEY) + expect(mockGetRequestyModels).toHaveBeenCalledWith(undefined, DUMMY_REQUESTY_KEY, expect.any(AbortSignal)) expect(result).toEqual(mockModels) }) @@ -137,7 +141,7 @@ describe("getModels with new GetModelsOptions", () => { const result = await getModels({ provider: "unbound", apiKey: DUMMY_UNBOUND_KEY }) - expect(mockGetUnboundModels).toHaveBeenCalledWith(DUMMY_UNBOUND_KEY) + expect(mockGetUnboundModels).toHaveBeenCalledWith(DUMMY_UNBOUND_KEY, expect.any(AbortSignal)) expect(result).toEqual(mockModels) }) diff --git a/src/api/providers/fetchers/__tests__/vercel-ai-gateway.spec.ts b/src/api/providers/fetchers/__tests__/vercel-ai-gateway.spec.ts index 30ad2f41d5..b938c0641c 100644 --- a/src/api/providers/fetchers/__tests__/vercel-ai-gateway.spec.ts +++ b/src/api/providers/fetchers/__tests__/vercel-ai-gateway.spec.ts @@ -77,7 +77,9 @@ describe("Vercel AI Gateway Fetchers", () => { const models = await getVercelAiGatewayModels() - expect(mockedAxios.get).toHaveBeenCalledWith("https://ai-gateway.vercel.sh/v1/models") + expect(mockedAxios.get).toHaveBeenCalledWith("https://ai-gateway.vercel.sh/v1/models", { + signal: undefined, + }) expect(Object.keys(models)).toHaveLength(2) // Only language models expect(models["anthropic/claude-sonnet-4"]).toBeDefined() expect(models["anthropic/claude-3.5-haiku"]).toBeDefined()