From 70adb1fe74987547d8dc4aed79063fb47e6d3e35 Mon Sep 17 00:00:00 2001 From: BrokenFinger98 Date: Sun, 8 Feb 2026 21:22:12 +0900 Subject: [PATCH] test(ollama): update provider tests for native api type (#11828) --- ...models-config.providers.ollama.e2e.test.ts | 26 ++++++------------- 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/src/agents/models-config.providers.ollama.e2e.test.ts b/src/agents/models-config.providers.ollama.e2e.test.ts index 3b9624a8eb6..263ef5574d4 100644 --- a/src/agents/models-config.providers.ollama.e2e.test.ts +++ b/src/agents/models-config.providers.ollama.e2e.test.ts @@ -29,25 +29,20 @@ describe("Ollama provider", () => { const agentDir = mkdtempSync(join(tmpdir(), "openclaw-test-")); const providers = await resolveImplicitProviders({ agentDir }); - // Ollama requires explicit configuration via OLLAMA_API_KEY env var or profile expect(providers?.ollama).toBeUndefined(); }); - it("should disable streaming by default for Ollama models", async () => { + it("should use native ollama api type", async () => { const agentDir = mkdtempSync(join(tmpdir(), "openclaw-test-")); process.env.OLLAMA_API_KEY = "test-key"; try { const providers = await resolveImplicitProviders({ agentDir }); - // Provider should be defined with OLLAMA_API_KEY set expect(providers?.ollama).toBeDefined(); expect(providers?.ollama?.apiKey).toBe("OLLAMA_API_KEY"); - - // Note: discoverOllamaModels() returns empty array in test environments (VITEST env var check) - // so we can't test the actual model discovery here. The streaming: false setting - // is applied in the model mapping within discoverOllamaModels(). - // The configuration structure itself is validated by TypeScript and the Zod schema. + expect(providers?.ollama?.api).toBe("ollama"); + expect(providers?.ollama?.baseUrl).toBe("http://127.0.0.1:11434"); } finally { delete process.env.OLLAMA_API_KEY; } @@ -69,15 +64,14 @@ describe("Ollama provider", () => { }, }); - expect(providers?.ollama?.baseUrl).toBe("http://192.168.20.14:11434/v1"); + // Native API strips /v1 suffix via resolveOllamaApiBase() + expect(providers?.ollama?.baseUrl).toBe("http://192.168.20.14:11434"); } finally { delete process.env.OLLAMA_API_KEY; } }); - it("should have correct model structure with streaming disabled (unit test)", () => { - // This test directly verifies the model configuration structure - // since discoverOllamaModels() returns empty array in test mode + it("should have correct model structure without streaming override", () => { const mockOllamaModel = { id: "llama3.3:latest", name: "llama3.3:latest", @@ -86,13 +80,9 @@ describe("Ollama provider", () => { cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 128000, maxTokens: 8192, - params: { - streaming: false, - }, }; - // Verify the model structure matches what discoverOllamaModels() would return - expect(mockOllamaModel.params?.streaming).toBe(false); - expect(mockOllamaModel.params).toHaveProperty("streaming"); + // Native Ollama provider does not need streaming: false workaround + expect(mockOllamaModel).not.toHaveProperty("params"); }); });