summaryrefslogtreecommitdiff
path: root/internal/llmutils/client_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-02 13:42:06 +0200
committerPaul Buetow <paul@buetow.org>2026-03-02 13:42:06 +0200
commit021785d750de2cd8d1f94334282a2b110b77c0fd (patch)
tree06c1e4942af0e1885e4c872cbb99d4653a3ec8a6 /internal/llmutils/client_test.go
parent8a70afb354d0050f3f8e1142753284859036fa1c (diff)
llmutils: centralize provider normalization and client setup (task 410)
Diffstat (limited to 'internal/llmutils/client_test.go')
-rw-r--r--internal/llmutils/client_test.go49
1 files changed, 49 insertions, 0 deletions
diff --git a/internal/llmutils/client_test.go b/internal/llmutils/client_test.go
index 2e20db3..837d408 100644
--- a/internal/llmutils/client_test.go
+++ b/internal/llmutils/client_test.go
@@ -25,3 +25,52 @@ func TestNewClientFromApp_OpenAI_WithKey(t *testing.T) {
// ensure env override precedence
_ = os.Unsetenv("OPENAI_API_KEY")
}
+
+func TestCanonicalProvider(t *testing.T) {
+ if got := CanonicalProvider(" OpenRouter "); got != "openrouter" {
+ t.Fatalf("CanonicalProvider(openrouter) = %q", got)
+ }
+ if got := CanonicalProvider(" "); got != "openai" {
+ t.Fatalf("CanonicalProvider(empty) = %q", got)
+ }
+}
+
+func TestDefaultModelForProvider(t *testing.T) {
+ cfg := appconfig.App{
+ OpenAIModel: "gpt-4.1",
+ OpenRouterModel: "openrouter/auto",
+ OllamaModel: "qwen3",
+ AnthropicModel: "claude",
+ }
+ if got := DefaultModelForProvider(cfg, "openai"); got != "gpt-4.1" {
+ t.Fatalf("openai model = %q", got)
+ }
+ if got := DefaultModelForProvider(cfg, "openrouter"); got != "openrouter/auto" {
+ t.Fatalf("openrouter model = %q", got)
+ }
+ if got := DefaultModelForProvider(cfg, "ollama"); got != "qwen3" {
+ t.Fatalf("ollama model = %q", got)
+ }
+ if got := DefaultModelForProvider(cfg, "anthropic"); got != "claude" {
+ t.Fatalf("anthropic model = %q", got)
+ }
+}
+
+func TestConfigForProvider(t *testing.T) {
+ base := appconfig.App{
+ Provider: "openai",
+ OpenAIModel: "gpt-4.1",
+ OllamaModel: "qwen3",
+ AnthropicModel: "claude",
+ }
+ got := ConfigForProvider(base, "ollama", "qwen3-coder")
+ if got.Provider != "ollama" {
+ t.Fatalf("provider = %q", got.Provider)
+ }
+ if got.OllamaModel != "qwen3-coder" {
+ t.Fatalf("ollama model = %q", got.OllamaModel)
+ }
+ if got.OpenAIModel != "gpt-4.1" {
+ t.Fatalf("openai model unexpectedly changed: %q", got.OpenAIModel)
+ }
+}