Files
Atlas/internal/provider/models_test.go
T
renjue 5301557ad2
CI / docker (push) Has been cancelled
实现 Atlas AI 平台一期能力并完成品牌化改造。
引入用户端对话/生图与管理端 Provider 配置,统一 invoke 编排、Gateway、请求日志与模型管理;前端按设计规范拆分布局,Go module 更名为 github.com/rose_cat707/Atlas;生图长任务 SSE 推送;管理端登录防爆破;协议与服务类型联动;Replicate 模型同步修复;用户端创作台 UI 重构;管理端创作历史替代请求日志。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 22:11:05 +08:00

45 lines
1.5 KiB
Go

package provider
import "testing"
func TestModelsPath(t *testing.T) {
openai := ModelsPath(&Config{Protocol: "openai", ServiceType: "chat"})
if openai != "/v1/models?protocol=openai&service_type=chat" {
t.Fatalf("openai path: %s", openai)
}
replicate := ModelsPath(&Config{Protocol: "replicate", ServiceType: "text_to_image"})
if replicate != "/v1/models?protocol=replicate&service_type=text_to_image" {
t.Fatalf("replicate path: %s", replicate)
}
}
func TestParseReplicateModels(t *testing.T) {
body := []byte(`{
"results": [
{"owner":"stability-ai","name":"sdxl","description":"SDXL"},
{"owner":"black-forest-labs","name":"flux-schnell"}
]
}`)
models := parseReplicateModels(body)
if len(models) != 2 {
t.Fatalf("expected 2 models, got %d", len(models))
}
if models[0].ID != "stability-ai/sdxl" || models[0].Name != "SDXL" {
t.Fatalf("unexpected first model: %+v", models[0])
}
if models[1].ID != "black-forest-labs/flux-schnell" {
t.Fatalf("unexpected second model id: %s", models[1].ID)
}
}
func TestParseModelsForProtocol(t *testing.T) {
openaiBody := []byte(`{"data":[{"id":"gpt-4o","name":"GPT-4o"}]}`)
if models := parseModelsForProtocol("openai", openaiBody); len(models) != 1 || models[0].ID != "gpt-4o" {
t.Fatalf("openai parse failed: %+v", models)
}
replicateBody := []byte(`{"results":[{"owner":"a","name":"b"}]}`)
if models := parseModelsForProtocol("replicate", replicateBody); len(models) != 1 || models[0].ID != "a/b" {
t.Fatalf("replicate parse failed: %+v", models)
}
}