relay_info_test.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package common
  2. import (
  3. "testing"
  4. "github.com/QuantumNous/new-api/types"
  5. "github.com/stretchr/testify/require"
  6. )
  7. func TestRelayInfoGetFinalRequestRelayFormatPrefersExplicitFinal(t *testing.T) {
  8. info := &RelayInfo{
  9. RelayFormat: types.RelayFormatOpenAI,
  10. RequestConversionChain: []types.RelayFormat{types.RelayFormatOpenAI, types.RelayFormatClaude},
  11. FinalRequestRelayFormat: types.RelayFormatOpenAIResponses,
  12. }
  13. require.Equal(t, types.RelayFormat(types.RelayFormatOpenAIResponses), info.GetFinalRequestRelayFormat())
  14. }
  15. func TestRelayInfoGetFinalRequestRelayFormatFallsBackToConversionChain(t *testing.T) {
  16. info := &RelayInfo{
  17. RelayFormat: types.RelayFormatOpenAI,
  18. RequestConversionChain: []types.RelayFormat{types.RelayFormatOpenAI, types.RelayFormatClaude},
  19. }
  20. require.Equal(t, types.RelayFormat(types.RelayFormatClaude), info.GetFinalRequestRelayFormat())
  21. }
  22. func TestRelayInfoGetFinalRequestRelayFormatFallsBackToRelayFormat(t *testing.T) {
  23. info := &RelayInfo{
  24. RelayFormat: types.RelayFormatGemini,
  25. }
  26. require.Equal(t, types.RelayFormat(types.RelayFormatGemini), info.GetFinalRequestRelayFormat())
  27. }
  28. func TestRelayInfoGetFinalRequestRelayFormatNilReceiver(t *testing.T) {
  29. var info *RelayInfo
  30. require.Equal(t, types.RelayFormat(""), info.GetFinalRequestRelayFormat())
  31. }