Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 

44 wiersze
2.2 KiB

  1. package helper
  2. import (
  3. "testing"
  4. "github.com/QuantumNous/new-api/constant"
  5. "github.com/stretchr/testify/require"
  6. )
  7. func TestSupportsMatrixUsageBilling(t *testing.T) {
  8. require.True(t, SupportsMatrixUsageBilling("seedance-2", constant.ChannelTypeDoubaoVideo, "seedance-2"))
  9. require.False(t, SupportsMatrixUsageBilling("seedance-2", constant.ChannelTypeOpenAI, "seedance-2"))
  10. require.False(t, SupportsMatrixUsageBilling("unknown", constant.ChannelTypeDoubaoVideo, "unknown"))
  11. }
  12. func TestSupportsMatrixUsageBilling_DoubaoSeedanceOfficialModelNames(t *testing.T) {
  13. require.True(t, SupportsMatrixUsageBilling("doubao-seedance-2-0-260128", constant.ChannelTypeDoubaoVideo, "doubao-seedance-2-0-260128"))
  14. require.True(t, SupportsMatrixUsageBilling("doubao-seedance-2-0-fast-260128", constant.ChannelTypeDoubaoVideo, "doubao-seedance-2-0-fast-260128"))
  15. }
  16. func TestSupportsMatrixUsageBilling_DoubaoAipingChannel(t *testing.T) {
  17. require.True(t, SupportsMatrixUsageBilling("doubao-seedance-2-0-260128", constant.ChannelTypeDoubaoVideoCompatibleAiping, "doubao-seedance-2-0-260128"))
  18. require.True(t, SupportsMatrixUsageBilling("doubao-seedance-2-0-fast-260128", constant.ChannelTypeDoubaoVideoCompatibleAiping, "doubao-seedance-2-0-fast-260128"))
  19. }
  20. func TestSupportsMatrixUsageBilling_TianyiYunSeedanceChannel(t *testing.T) {
  21. require.True(t, SupportsMatrixUsageBilling("cdance2.0-0611", constant.ChannelTypeDoubaoVideoCompatibleTianyiYun, "cdance2.0-0611"))
  22. require.True(t, SupportsMatrixUsageBilling("cdance2.0-fast-0611", constant.ChannelTypeDoubaoVideoCompatibleTianyiYun, "cdance2.0-fast-0611"))
  23. require.False(t, SupportsMatrixUsageBilling("cdance2.0-0611", constant.ChannelTypeDoubaoVideoCompatibleAiping, "cdance2.0-0611"))
  24. }
  25. func TestResolvePricingModelMapping(t *testing.T) {
  26. mapped, err := ResolvePricingModelMapping("seedance-2", `{"seedance-2":"doubao-video-seedance"}`)
  27. require.NoError(t, err)
  28. require.Equal(t, "doubao-video-seedance", mapped)
  29. mapped, err = ResolvePricingModelMapping("seedance-2", `{"seedance-2":"a","a":"b"}`)
  30. require.NoError(t, err)
  31. require.Equal(t, "b", mapped)
  32. _, err = ResolvePricingModelMapping("seedance-2", `{"seedance-2":"a","a":"seedance-2"}`)
  33. require.ErrorContains(t, err, "model_mapping_contains_cycle")
  34. }