mirror of
https://gitee.com/wanwujie/sub2api
synced 2026-05-05 05:30:44 +08:00
56 lines
1.9 KiB
Go
56 lines
1.9 KiB
Go
|
|
package openai_compat
|
|||
|
|
|
|||
|
|
import "testing"
|
|||
|
|
|
|||
|
|
func TestResolveResponsesSupport(t *testing.T) {
|
|||
|
|
tests := []struct {
|
|||
|
|
name string
|
|||
|
|
extra map[string]any
|
|||
|
|
want AccountResponsesSupport
|
|||
|
|
}{
|
|||
|
|
{"nil extra", nil, ResponsesSupportUnknown},
|
|||
|
|
{"empty extra", map[string]any{}, ResponsesSupportUnknown},
|
|||
|
|
{"key missing", map[string]any{"other": "value"}, ResponsesSupportUnknown},
|
|||
|
|
{"value true", map[string]any{ExtraKeyResponsesSupported: true}, ResponsesSupportYes},
|
|||
|
|
{"value false", map[string]any{ExtraKeyResponsesSupported: false}, ResponsesSupportNo},
|
|||
|
|
{"value wrong type string", map[string]any{ExtraKeyResponsesSupported: "true"}, ResponsesSupportUnknown},
|
|||
|
|
{"value wrong type number", map[string]any{ExtraKeyResponsesSupported: 1}, ResponsesSupportUnknown},
|
|||
|
|
{"value nil", map[string]any{ExtraKeyResponsesSupported: nil}, ResponsesSupportUnknown},
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
for _, tc := range tests {
|
|||
|
|
t.Run(tc.name, func(t *testing.T) {
|
|||
|
|
got := ResolveResponsesSupport(tc.extra)
|
|||
|
|
if got != tc.want {
|
|||
|
|
t.Errorf("ResolveResponsesSupport(%v) = %v, want %v", tc.extra, got, tc.want)
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
func TestShouldUseResponsesAPI(t *testing.T) {
|
|||
|
|
tests := []struct {
|
|||
|
|
name string
|
|||
|
|
extra map[string]any
|
|||
|
|
want bool
|
|||
|
|
}{
|
|||
|
|
// 关键不变量:未探测必须返回 true(保留旧行为)
|
|||
|
|
{"unknown defaults to true (preserve old behavior)", nil, true},
|
|||
|
|
{"unknown empty defaults to true", map[string]any{}, true},
|
|||
|
|
{"unknown wrong type defaults to true", map[string]any{ExtraKeyResponsesSupported: "yes"}, true},
|
|||
|
|
|
|||
|
|
// 已探测:标记决定
|
|||
|
|
{"explicitly supported", map[string]any{ExtraKeyResponsesSupported: true}, true},
|
|||
|
|
{"explicitly unsupported", map[string]any{ExtraKeyResponsesSupported: false}, false},
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
for _, tc := range tests {
|
|||
|
|
t.Run(tc.name, func(t *testing.T) {
|
|||
|
|
got := ShouldUseResponsesAPI(tc.extra)
|
|||
|
|
if got != tc.want {
|
|||
|
|
t.Errorf("ShouldUseResponsesAPI(%v) = %v, want %v", tc.extra, got, tc.want)
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
}
|