ScuttleBot

scuttlebot / internal / llm / factory_test.go
Source Blame History 72 lines
5ac549c… lmata 1 package llm
5ac549c… lmata 2
5ac549c… lmata 3 import (
5ac549c… lmata 4 "testing"
5ac549c… lmata 5 )
5ac549c… lmata 6
5ac549c… lmata 7 func TestNew(t *testing.T) {
5ac549c… lmata 8 tests := []struct {
5ac549c… lmata 9 name string
5ac549c… lmata 10 cfg BackendConfig
5ac549c… lmata 11 wantErr bool
5ac549c… lmata 12 }{
5ac549c… lmata 13 {
5ac549c… lmata 14 name: "openai",
5ac549c… lmata 15 cfg: BackendConfig{Backend: "openai", APIKey: "key"},
5ac549c… lmata 16 },
5ac549c… lmata 17 {
5ac549c… lmata 18 name: "anthropic",
5ac549c… lmata 19 cfg: BackendConfig{Backend: "anthropic", APIKey: "key"},
5ac549c… lmata 20 },
5ac549c… lmata 21 {
5ac549c… lmata 22 name: "gemini",
5ac549c… lmata 23 cfg: BackendConfig{Backend: "gemini", APIKey: "key"},
5ac549c… lmata 24 },
5ac549c… lmata 25 {
5ac549c… lmata 26 name: "ollama",
5ac549c… lmata 27 cfg: BackendConfig{Backend: "ollama", BaseURL: "http://localhost:11434"},
5ac549c… lmata 28 },
5ac549c… lmata 29 {
5ac549c… lmata 30 name: "bedrock",
5ac549c… lmata 31 cfg: BackendConfig{Backend: "bedrock", Region: "us-east-1", AWSKeyID: "key", AWSSecretKey: "secret"},
5ac549c… lmata 32 },
5ac549c… lmata 33 {
5ac549c… lmata 34 name: "unknown",
5ac549c… lmata 35 cfg: BackendConfig{Backend: "unknown"},
5ac549c… lmata 36 wantErr: true,
5ac549c… lmata 37 },
5ac549c… lmata 38 }
5ac549c… lmata 39
5ac549c… lmata 40 for _, tt := range tests {
5ac549c… lmata 41 t.Run(tt.name, func(t *testing.T) {
5ac549c… lmata 42 _, err := New(tt.cfg)
5ac549c… lmata 43 if (err != nil) != tt.wantErr {
5ac549c… lmata 44 t.Errorf("New() error = %v, wantErr %v", err, tt.wantErr)
5ac549c… lmata 45 }
5ac549c… lmata 46 })
5ac549c… lmata 47 }
5ac549c… lmata 48 }
5ac549c… lmata 49
5ac549c… lmata 50 func TestBackendNames(t *testing.T) {
5ac549c… lmata 51 names := BackendNames()
5ac549c… lmata 52 if len(names) == 0 {
5ac549c… lmata 53 t.Error("expected non-empty backend names")
5ac549c… lmata 54 }
1066004… lmata 55
5ac549c… lmata 56 foundGemini := false
5ac549c… lmata 57 for _, n := range names {
5ac549c… lmata 58 if n == "gemini" {
5ac549c… lmata 59 foundGemini = true
5ac549c… lmata 60 break
5ac549c… lmata 61 }
5ac549c… lmata 62 }
5ac549c… lmata 63 if !foundGemini {
5ac549c… lmata 64 t.Error("expected gemini in backend names")
5ac549c… lmata 65 }
5ac549c… lmata 66 }
5ac549c… lmata 67
5ac549c… lmata 68 func TestKnownBackends(t *testing.T) {
5ac549c… lmata 69 if _, ok := KnownBackends["openai"]; !ok {
5ac549c… lmata 70 t.Error("expected openai in known backends")
5ac549c… lmata 71 }
5ac549c… lmata 72 }

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button