Files
sub2api/backend/internal/service/openai_gateway_chat_completions_test.go
2026-04-21 13:56:02 +08:00

45 lines
1.4 KiB
Go

package service
import (
"testing"
"github.com/Wei-Shaw/sub2api/internal/pkg/apicompat"
"github.com/stretchr/testify/require"
"github.com/tidwall/gjson"
)
func TestNormalizeResponsesRequestServiceTier(t *testing.T) {
t.Parallel()
req := &apicompat.ResponsesRequest{ServiceTier: " fast "}
normalizeResponsesRequestServiceTier(req)
require.Equal(t, "priority", req.ServiceTier)
req.ServiceTier = "flex"
normalizeResponsesRequestServiceTier(req)
require.Equal(t, "flex", req.ServiceTier)
req.ServiceTier = "default"
normalizeResponsesRequestServiceTier(req)
require.Empty(t, req.ServiceTier)
}
func TestNormalizeResponsesBodyServiceTier(t *testing.T) {
t.Parallel()
body, tier, err := normalizeResponsesBodyServiceTier([]byte(`{"model":"gpt-5.1","service_tier":"fast"}`))
require.NoError(t, err)
require.Equal(t, "priority", tier)
require.Equal(t, "priority", gjson.GetBytes(body, "service_tier").String())
body, tier, err = normalizeResponsesBodyServiceTier([]byte(`{"model":"gpt-5.1","service_tier":"flex"}`))
require.NoError(t, err)
require.Equal(t, "flex", tier)
require.Equal(t, "flex", gjson.GetBytes(body, "service_tier").String())
body, tier, err = normalizeResponsesBodyServiceTier([]byte(`{"model":"gpt-5.1","service_tier":"default"}`))
require.NoError(t, err)
require.Empty(t, tier)
require.False(t, gjson.GetBytes(body, "service_tier").Exists())
}