Files
user-system/internal/pkg/gemini/models_test.go
Your Name 9cc4305395 test: add pkg tests for gemini, openai, geminicli packages
- Add sanitize tests (internal/pkg/geminicli): 55.3%
- Add constants/model tests (internal/pkg/openai): 34.2%
- Add models tests (internal/pkg/gemini): 100%
2026-05-29 16:36:54 +08:00

50 lines
1.2 KiB
Go

package gemini
import (
"strings"
"testing"
"github.com/stretchr/testify/require"
)
func TestDefaultModels(t *testing.T) {
models := DefaultModels()
// Should return 8 models
require.Len(t, models, 8)
// Each model should have name and methods
for _, m := range models {
require.NotEmpty(t, m.Name)
require.True(t, strings.HasPrefix(m.Name, "models/"))
require.Contains(t, m.SupportedGenerationMethods, "generateContent")
require.Contains(t, m.SupportedGenerationMethods, "streamGenerateContent")
}
}
func TestFallbackModelsList(t *testing.T) {
resp := FallbackModelsList()
require.Len(t, resp.Models, 8)
}
func TestFallbackModel(t *testing.T) {
tests := []struct {
input string
expected string
}{
{"", "models/unknown"},
{"gemini-2.0-flash", "models/gemini-2.0-flash"},
{"models/gemini-2.5-pro", "models/gemini-2.5-pro"},
{"custom-model", "models/custom-model"},
}
for _, tt := range tests {
t.Run(tt.input, func(t *testing.T) {
model := FallbackModel(tt.input)
require.Equal(t, tt.expected, model.Name)
require.Contains(t, model.SupportedGenerationMethods, "generateContent")
require.Contains(t, model.SupportedGenerationMethods, "streamGenerateContent")
})
}
}