ccpoad / internal /testutil /api_tester_test.go
anyalerob's picture
Upload folder using huggingface_hub
2986042 verified
Raw
History Blame Contribute Delete
2.51 kB
package testutil
import (
"regexp"
"strings"
"testing"
"ccLoad/internal/model"
"github.com/bytedance/sonic"
)
func TestOpenAITesterBuild_ExactURLMarkerSkipsEndpointPath(t *testing.T) {
cfg := &model.Config{URL: "https://api.example.com/custom/chat#"}
req := &TestChannelRequest{Model: "gpt-test", Content: "hello"}
fullURL, _, _, err := (&OpenAITester{}).Build(cfg, "sk-test", req)
if err != nil {
t.Fatalf("Build() error = %v", err)
}
if fullURL != "https://api.example.com/custom/chat" {
t.Fatalf("fullURL = %q, want %q", fullURL, "https://api.example.com/custom/chat")
}
if strings.Contains(fullURL, "/v1/chat/completions") {
t.Fatalf("fullURL should not append OpenAI endpoint path: %q", fullURL)
}
}
func TestOpenAITesterBuild_AddsSessionIDHeader(t *testing.T) {
cfg := &model.Config{URL: "https://api.example.com"}
req := &TestChannelRequest{Model: "gpt-test", Content: "hello"}
_, headers, body, err := (&OpenAITester{}).Build(cfg, "sk-test", req)
if err != nil {
t.Fatalf("Build() error = %v", err)
}
sessionID := headers.Get("Session_id")
uuidPattern := regexp.MustCompile(`^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$`)
if !uuidPattern.MatchString(sessionID) {
t.Fatalf("Session_id header missing or invalid: %q", sessionID)
}
if got := headers.Get("Session-Id"); got != "" {
t.Fatalf("Session-Id header should be omitted, got %q", got)
}
var payload map[string]any
if err := sonic.Unmarshal(body, &payload); err != nil {
t.Fatalf("unmarshal body failed: %v; body=%s", err, body)
}
if got, _ := payload["user"].(string); got != sessionID {
t.Fatalf("body user = %q, want session id %q; body=%s", got, sessionID, body)
}
if got, _ := payload["prompt_cache_key"].(string); got != sessionID {
t.Fatalf("body prompt_cache_key = %q, want session id %q; body=%s", got, sessionID, body)
}
}
func TestAnthropicTesterBuild_ExactURLMarkerSkipsEndpointPath(t *testing.T) {
cfg := &model.Config{URL: "https://api.example.com/custom/messages#"}
req := &TestChannelRequest{Model: "claude-test", Content: "hello"}
fullURL, _, _, err := (&AnthropicTester{}).Build(cfg, "sk-test", req)
if err != nil {
t.Fatalf("Build() error = %v", err)
}
if fullURL != "https://api.example.com/custom/messages" {
t.Fatalf("fullURL = %q, want %q", fullURL, "https://api.example.com/custom/messages")
}
if strings.Contains(fullURL, "/v1/messages") {
t.Fatalf("fullURL should not append Anthropic endpoint path: %q", fullURL)
}
}