mirror of
https://github.com/CJackHwang/ds2api.git
synced 2026-05-04 16:35:27 +08:00
59 lines
1.9 KiB
Go
59 lines
1.9 KiB
Go
package promptcompat
|
|
|
|
import "testing"
|
|
|
|
func TestStandardRequestCompletionPayloadSetsModelTypeFromResolvedModel(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
model string
|
|
thinking bool
|
|
search bool
|
|
modelType string
|
|
}{
|
|
{name: "default", model: "deepseek-v4-flash", thinking: false, search: false, modelType: "default"},
|
|
{name: "default_nothinking", model: "deepseek-v4-flash-nothinking", thinking: false, search: false, modelType: "default"},
|
|
{name: "expert", model: "deepseek-v4-pro", thinking: true, search: false, modelType: "expert"},
|
|
{name: "vision", model: "deepseek-v4-vision", thinking: true, search: false, modelType: "vision"},
|
|
}
|
|
|
|
for _, tc := range tests {
|
|
t.Run(tc.name, func(t *testing.T) {
|
|
req := StandardRequest{
|
|
ResolvedModel: tc.model,
|
|
FinalPrompt: "hello",
|
|
Thinking: tc.thinking,
|
|
Search: tc.search,
|
|
RefFileIDs: []string{"file-a", "file-b"},
|
|
PassThrough: map[string]any{
|
|
"temperature": 0.3,
|
|
},
|
|
}
|
|
|
|
payload := req.CompletionPayload("session-123")
|
|
|
|
if got := payload["model_type"]; got != tc.modelType {
|
|
t.Fatalf("expected model_type %s, got %#v", tc.modelType, got)
|
|
}
|
|
if got := payload["chat_session_id"]; got != "session-123" {
|
|
t.Fatalf("unexpected chat_session_id: %#v", got)
|
|
}
|
|
if got := payload["thinking_enabled"]; got != tc.thinking {
|
|
t.Fatalf("unexpected thinking_enabled: %#v", got)
|
|
}
|
|
if got := payload["search_enabled"]; got != tc.search {
|
|
t.Fatalf("unexpected search_enabled: %#v", got)
|
|
}
|
|
if got := payload["temperature"]; got != 0.3 {
|
|
t.Fatalf("expected passthrough temperature, got %#v", got)
|
|
}
|
|
refFileIDs, ok := payload["ref_file_ids"].([]any)
|
|
if !ok {
|
|
t.Fatalf("expected ref_file_ids slice, got %#v", payload["ref_file_ids"])
|
|
}
|
|
if len(refFileIDs) != 2 || refFileIDs[0] != "file-a" || refFileIDs[1] != "file-b" {
|
|
t.Fatalf("unexpected ref_file_ids: %#v", refFileIDs)
|
|
}
|
|
})
|
|
}
|
|
}
|