models_test.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package gemini
  2. import "testing"
  3. func TestDefaultModels_ContainsFallbackCatalogModels(t *testing.T) {
  4. t.Parallel()
  5. models := DefaultModels()
  6. byName := make(map[string]Model, len(models))
  7. for _, model := range models {
  8. byName[model.Name] = model
  9. }
  10. required := []string{
  11. "models/gemini-2.5-flash-image",
  12. "models/gemini-3.1-pro-preview-customtools",
  13. "models/gemini-3.1-flash-image",
  14. }
  15. for _, name := range required {
  16. model, ok := byName[name]
  17. if !ok {
  18. t.Fatalf("expected fallback model %q to exist", name)
  19. }
  20. if len(model.SupportedGenerationMethods) == 0 {
  21. t.Fatalf("expected fallback model %q to advertise generation methods", name)
  22. }
  23. }
  24. }
  25. func TestHasFallbackModel_RecognizesCustomtoolsModel(t *testing.T) {
  26. t.Parallel()
  27. if !HasFallbackModel("gemini-3.1-pro-preview-customtools") {
  28. t.Fatalf("expected customtools model to exist in fallback catalog")
  29. }
  30. if !HasFallbackModel("models/gemini-3.1-pro-preview-customtools") {
  31. t.Fatalf("expected prefixed customtools model to exist in fallback catalog")
  32. }
  33. if HasFallbackModel("gemini-unknown") {
  34. t.Fatalf("did not expect unknown model to exist in fallback catalog")
  35. }
  36. }