package runner import ( "context" "testing" "github.com/easyai/easyai-ai-gateway/apps/api/internal/clients" "github.com/easyai/easyai-ai-gateway/apps/api/internal/store" ) type namedClient string func (namedClient) Run(context.Context, clients.Request) (clients.Response, error) { return clients.Response{}, nil } func TestClientForMapsGoogleGeminiSpecToGeminiClient(t *testing.T) { service := &Service{clients: map[string]clients.Client{ "gemini": namedClient("gemini"), "openai": namedClient("openai"), }} candidates := []store.RuntimeModelCandidate{ {SpecType: "google-gemini"}, {SpecType: "openai", Provider: "gemini-openai"}, {SpecType: "openai", BaseURL: "https://generativelanguage.googleapis.com/v1beta/openai"}, } for _, candidate := range candidates { client := service.clientFor(candidate, false) if client != namedClient("gemini") { t.Fatalf("Gemini candidate should use gemini client, candidate=%+v got %T %[2]v", candidate, client) } } }