package helper import ( "bytes" "io" "net/http" "net/http/httptest" "testing" "github.com/QuantumNous/new-api/common" relaycommon "github.com/QuantumNous/new-api/relay/common" "github.com/gin-gonic/gin" "github.com/stretchr/testify/require" ) func TestResolveIncomingBillingExprRequestInput(t *testing.T) { gin.SetMode(gin.TestMode) recorder := httptest.NewRecorder() ctx, _ := gin.CreateTestContext(recorder) ctx.Request = httptest.NewRequest(http.MethodPost, "/v1/chat/completions", nil) ctx.Request.Header.Set("Content-Type", "application/json") body := []byte(`{"service_tier":"fast"}`) ctx.Request.Body = io.NopCloser(bytes.NewReader(body)) ctx.Set(common.KeyRequestBody, body) info := &relaycommon.RelayInfo{ RequestHeaders: map[string]string{"Content-Type": "application/json"}, } input, err := ResolveIncomingBillingExprRequestInput(ctx, info) require.NoError(t, err) require.Equal(t, body, input.Body) require.Equal(t, "application/json", input.Headers["Content-Type"]) }