refactor: remove endpoint tests and enhance URL handling

- Deleted outdated test files for OpenAI endpoint functionality.
- Improved the OpenAIEndpointURL function to better handle custom paths and version segments.
- Introduced a new helper function, stripEndpointVersionPrefix, to streamline endpoint processing.
This commit is contained in:
上玄
2026-07-04 19:03:14 +08:00
parent c50e7d0606
commit 86a655fb5d
3 changed files with 30 additions and 156 deletions
-70
View File
@@ -1,70 +0,0 @@
package modelchannel
import "testing"
func TestNormalizeOpenAIEndpoint(t *testing.T) {
cases := []struct {
name string
providerType string
endpoint string
want string
}{
// 非 openai 类型始终返回空
{"anthropic_ignored", "anthropic", "/v1/responses", ""},
{"empty_type_ignored", "", "/v1/responses", ""},
// 预设值
{"empty_defaults_to_responses", "openai", "", OpenAIEndpointResponses},
{"preset_responses", "openai", "/v1/responses", OpenAIEndpointResponses},
{"preset_chat_completions", "openai", "/v1/chat/completions", OpenAIEndpointChatCompletions},
{"preset_custom", "openai", "/custom", OpenAIEndpointCustom},
// 非法值:不再允许任意自定义路径,只接受三个预设值
{"arbitrary_path_rejected", "openai", "/v4/chat/completions", ""},
{"arbitrary_path_rejected_2", "openai", "/chat/completions", ""},
{"missing_slash", "openai", "v1/responses", ""},
{"slash_only", "openai", "/", ""},
{"whitespace", "openai", " ", OpenAIEndpointResponses},
}
for _, tc := range cases {
t.Run(tc.name, func(t *testing.T) {
got := NormalizeOpenAIEndpoint(tc.providerType, tc.endpoint)
if got != tc.want {
t.Fatalf("NormalizeOpenAIEndpoint(%q, %q) = %q, want %q", tc.providerType, tc.endpoint, got, tc.want)
}
})
}
}
func TestOpenAIEndpointShape(t *testing.T) {
cases := []struct {
endpoint string
want string
}{
// Responses 形态
{"/v1/responses", "responses"},
{"/v4/responses", "responses"},
{"/responses", "responses"},
// Chat Completions 形态
{"/v1/chat/completions", "chat/completions"},
{"/v4/chat/completions", "chat/completions"},
{"/chat/completions", "chat/completions"},
// /custom 不含已知后缀 → 兜底走 chat/completions
{"/custom", "chat/completions"},
// 兜底默认
{"", "chat/completions"},
}
for _, tc := range cases {
t.Run(tc.endpoint, func(t *testing.T) {
got := OpenAIEndpointShape(tc.endpoint)
if got != tc.want {
t.Fatalf("OpenAIEndpointShape(%q) = %q, want %q", tc.endpoint, got, tc.want)
}
})
}
}