Files
CLIProxyAPI/internal/translator/codex/claude/noop_optimization_test.go
Luis Pater 64291120e7 perf(translator): add unit tests for payload reuse and normalization across translators
- Added tests to ensure no-copy payload reuse for various translators (Codex, Gemini, OpenAI, Claude, etc.).
- Covered scenarios for field normalization, tool parameter cleaning, and thought signature sanitization.
- Included a benchmark for SanitizeGeminiRequestThoughtSignatures with large normalized payloads.
2026-07-20 03:50:35 +08:00

19 lines
477 B
Go

package claude
import (
"testing"
"github.com/tidwall/gjson"
)
func TestConvertClaudeRequestToCodexNormalizesNonStringToolName(t *testing.T) {
input := []byte(`{"messages":[],"tools":[{"name":123,"input_schema":{"type":"object"}}]}`)
output := ConvertClaudeRequestToCodex("gpt-test", input, false)
name := gjson.GetBytes(output, "tools.0.name")
if name.Type != gjson.String || name.String() != "123" {
t.Fatalf("tools.0.name = %s, want string 123", name.Raw)
}
}