fix: normalize chat completions service tier
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
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())
|
||||
}
|
||||
Reference in New Issue
Block a user