mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-31 11:51:22 +00:00
test(ollama): update provider tests for native api type (#11828)
This commit is contained in:
committed by
Peter Steinberger
parent
da27360722
commit
70adb1fe74
@@ -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");
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user