45 lines
1.4 KiB
Go
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())
|
|
}
|