|
- package service
-
- import (
- "testing"
-
- "github.com/QuantumNous/new-api/dto"
- "github.com/stretchr/testify/require"
- )
-
- func TestConvertGeminiRoleToOpenAIUsesSafeUserFallback(t *testing.T) {
- require.Equal(t, "user", convertGeminiRoleToOpenAI("user"))
- require.Equal(t, "assistant", convertGeminiRoleToOpenAI("model"))
- require.Equal(t, "function", convertGeminiRoleToOpenAI("function"))
- require.Equal(t, "user", convertGeminiRoleToOpenAI("unknown"))
- }
-
- func TestExtractTextFromGeminiPartsSkipsEmptyParts(t *testing.T) {
- parts := []dto.GeminiPart{{Text: "first"}, {}, {Text: "last"}}
-
- require.Equal(t, "first\nlast", extractTextFromGeminiParts(parts))
- }
-
- func TestToJSONStringSerializesValuesAndUsesObjectFallback(t *testing.T) {
- require.Equal(t, `{"answer":42}`, toJSONString(map[string]int{"answer": 42}))
- require.Equal(t, "{}", toJSONString(make(chan int)))
- }
-
- func TestStopReasonOpenAI2Claude(t *testing.T) {
- require.Equal(t, "end_turn", stopReasonOpenAI2Claude("stop"))
- require.NotEmpty(t, stopReasonOpenAI2Claude("unknown"))
- }
|