41 lines
1.1 KiB
Go
41 lines
1.1 KiB
Go
package domain
|
|
|
|
import "testing"
|
|
|
|
func TestValidateProviderBinding(t *testing.T) {
|
|
cases := []struct {
|
|
protocol string
|
|
serviceType string
|
|
ok bool
|
|
}{
|
|
{"openai", "chat", true},
|
|
{"replicate", "image_generation", true},
|
|
{"replicate", "text_to_image", true},
|
|
{"replicate", "image_to_image", true},
|
|
{"openai", "text_to_image", false},
|
|
{"replicate", "chat", false},
|
|
{"unknown", "chat", false},
|
|
}
|
|
for _, tc := range cases {
|
|
err := ValidateProviderBinding(tc.protocol, tc.serviceType)
|
|
if tc.ok && err != nil {
|
|
t.Fatalf("%s/%s expected ok, got %v", tc.protocol, tc.serviceType, err)
|
|
}
|
|
if !tc.ok && err == nil {
|
|
t.Fatalf("%s/%s expected error", tc.protocol, tc.serviceType)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestDefaultBindings(t *testing.T) {
|
|
if got := DefaultProtocol(ServiceImageGeneration); got != "replicate" {
|
|
t.Fatalf("expected replicate, got %s", got)
|
|
}
|
|
if got := DefaultServiceType("openai"); got != ServiceChat {
|
|
t.Fatalf("expected chat, got %s", got)
|
|
}
|
|
if got := DefaultServiceType("replicate"); got != ServiceImageGeneration {
|
|
t.Fatalf("expected image_generation, got %s", got)
|
|
}
|
|
}
|