Files
go-sip/internal/ai/bailian_models_test.go
T

36 lines
1.2 KiB
Go

package ai
import (
"testing"
)
func bailianFixture(t *testing.T) Binding {
t.Helper()
task, ps := currentFixture(t, "full_ai")
task = changeCurrentAgent(t, task, func(a map[string]any) {
for _, role := range []string{"asr", "llm", "tts"} {
a[role].(map[string]any)["provider_ref"] = "ali_bailian"
}
a["asr"].(map[string]any)["model"] = "fun-asr-flash-8k-realtime-2026-01-28"
a["asr"].(map[string]any)["params"] = map[string]any{"sample_rate": 16000, "format": "pcm", "language": "zh"}
a["llm"].(map[string]any)["model"] = "Qwen3.8-Flash"
a["tts"].(map[string]any)["model"] = "cosyvoice-v3-flash"
a["tts"].(map[string]any)["voice"] = "longanyang"
a["tts"].(map[string]any)["params"] = map[string]any{"rate": 1.25, "sample_rate": 16000, "format": "pcm"}
})
p := ps["ali_bailian"]
p.Credential = "mock-key"
ps["ali_bailian"] = p
b, err := Bind(task, ps)
if err != nil {
t.Fatal(err)
}
return b
}
func TestTaskModelsShareConnectionOnlyProvider(t *testing.T) {
b := bailianFixture(t)
if b.ASR.Provider.Code != "ali_bailian" || b.LLM.Provider.Code != "ali_bailian" || b.TTS.Provider.Code != "ali_bailian" || string(b.TTS.Params["rate"]) != "1.25" {
t.Fatal("shared connection or opaque params lost")
}
}