59 lines · 2.1 KB · Go
RawDownload
package executor import (	"bytes"	"sync/atomic"	"testing" 	sdktranslator "github.com/router-for-me/CLIProxyAPI/v7/sdk/translator") func TestTranslateCodexRequestPairReusesEqualPayload(t *testing.T) {	from := sdktranslator.Format("codex-test-from-equal")	to := sdktranslator.Format("codex-test-to-equal")	var calls int32	sdktranslator.Register(from, to, func(model string, rawJSON []byte, stream bool) []byte {		atomic.AddInt32(&calls, 1)		if model != "test-model" {			t.Errorf("model = %q, want test-model", model)		}		if !stream {			t.Error("stream = false, want true")		}		return append([]byte(nil), rawJSON...)	}, sdktranslator.ResponseTransform{}) 	payload := []byte(`{"model":"test-model","input":[{"role":"user"}]}`)	originalTranslated, body := translateCodexRequestPair(from, to, "test-model", payload, bytes.Clone(payload), true) 	if gotCalls := atomic.LoadInt32(&calls); gotCalls != 1 {		t.Fatalf("TranslateRequest calls = %d, want 1", gotCalls)	}	if !bytes.Equal(originalTranslated, body) {		t.Fatalf("translated payloads differ: original=%s body=%s", originalTranslated, body)	}} func TestTranslateCodexRequestPairTranslatesDifferentPayloads(t *testing.T) {	from := sdktranslator.Format("codex-test-from-different")	to := sdktranslator.Format("codex-test-to-different")	var calls int32	sdktranslator.Register(from, to, func(_ string, rawJSON []byte, _ bool) []byte {		atomic.AddInt32(&calls, 1)		return append([]byte(nil), rawJSON...)	}, sdktranslator.ResponseTransform{}) 	originalPayload := []byte(`{"model":"test-model","input":[{"role":"system"}]}`)	payload := []byte(`{"model":"test-model","input":[{"role":"user"}]}`)	originalTranslated, body := translateCodexRequestPair(from, to, "test-model", originalPayload, payload, false) 	if gotCalls := atomic.LoadInt32(&calls); gotCalls != 2 {		t.Fatalf("TranslateRequest calls = %d, want 2", gotCalls)	}	if !bytes.Equal(originalTranslated, originalPayload) {		t.Fatalf("original translated = %s, want %s", originalTranslated, originalPayload)	}	if !bytes.Equal(body, payload) {		t.Fatalf("body = %s, want %s", body, payload)	}}