first commit
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
package provider
|
||||
|
||||
// Tests for the preset provider/model catalog (mirrors pi agent's preset picker):
|
||||
// LookupPreset resolves a catalog id to its owning provider, PresetsByProvider
|
||||
// groups by provider, and every preset must name a provider that has a known
|
||||
// credential env var (or be the local, keyless Ollama).
|
||||
|
||||
import "testing"
|
||||
|
||||
// TestLookupPresetResolvesProvider verifies a catalog id resolves to its
|
||||
// declared provider, and an unknown id does not.
|
||||
func TestLookupPresetResolvesProvider(t *testing.T) {
|
||||
p, ok := LookupPreset("meta/llama-3.3-70b-instruct")
|
||||
if !ok {
|
||||
t.Fatal("expected NVIDIA llama preset to be in the catalog")
|
||||
}
|
||||
if p.Provider != "nvidia" {
|
||||
t.Errorf("provider = %q, want nvidia", p.Provider)
|
||||
}
|
||||
if _, ok := LookupPreset("definitely/not-a-preset"); ok {
|
||||
t.Error("unknown id must not resolve to a preset")
|
||||
}
|
||||
}
|
||||
|
||||
// TestPresetsByProviderGroups verifies each provider surfaces at least one
|
||||
// preset and that the returned entries all belong to that provider.
|
||||
func TestPresetsByProviderGroups(t *testing.T) {
|
||||
for _, name := range []string{"openrouter", "nvidia", "ollama"} {
|
||||
got := PresetsByProvider(name)
|
||||
if len(got) == 0 {
|
||||
t.Errorf("provider %q has no presets", name)
|
||||
}
|
||||
for _, m := range got {
|
||||
if m.Provider != name {
|
||||
t.Errorf("PresetsByProvider(%q) returned entry for %q", name, m.Provider)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TestPresetProvidersHaveCredentialMapping verifies every non-local preset
|
||||
// provider has API-key env vars in the provider registry (the single source of
|
||||
// truth), so a selected preset can actually resolve a credential. Ollama is
|
||||
// local and keyless.
|
||||
func TestPresetProvidersHaveCredentialMapping(t *testing.T) {
|
||||
for _, pv := range PresetProviders {
|
||||
if pv.Name == "ollama" {
|
||||
continue
|
||||
}
|
||||
spec, ok := LookupProviderSpec(pv.Name)
|
||||
if !ok || len(spec.EnvVars) == 0 {
|
||||
t.Errorf("preset provider %q has no credential env var mapping", pv.Name)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TestPresetLabelFallsBackToID verifies Label uses DisplayName when set and
|
||||
// falls back to the id otherwise.
|
||||
func TestPresetLabelFallsBackToID(t *testing.T) {
|
||||
if got := (PresetModel{ID: "x", DisplayName: "X"}).Label(); got != "X" {
|
||||
t.Errorf("Label = %q, want X", got)
|
||||
}
|
||||
if got := (PresetModel{ID: "x"}).Label(); got != "x" {
|
||||
t.Errorf("Label = %q, want x", got)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user