package reference import ( "os" "path/filepath" "testing" ) func TestReadUsesBundledSnapshot(t *testing.T) { service := NewService(t.TempDir()) payload, err := service.Read("gpu") if err != nil { t.Fatal(err) } if payload["kind"] != "gpu" { t.Fatalf("kind = %#v", payload["kind"]) } items, ok := payload["items"].([]any) if !ok || len(items) < 10 { t.Fatalf("unexpected items: %#v", payload["items"]) } } func TestReadPrefersValidOverride(t *testing.T) { root := t.TempDir() dir := filepath.Join(root, "reference-data") if err := os.MkdirAll(dir, 0o750); err != nil { t.Fatal(err) } if err := os.WriteFile(filepath.Join(dir, "cpu-ranking.json"), []byte(`{"schemaVersion":1,"kind":"cpu","version":"override","items":[]}`), 0o640); err != nil { t.Fatal(err) } payload, err := NewService(root).Read("cpu") if err != nil { t.Fatal(err) } if payload["version"] != "override" { t.Fatalf("version = %#v", payload["version"]) } } func TestReadRejectsUnknownKind(t *testing.T) { if _, err := NewService("").Read("unknown"); err != ErrNotFound { t.Fatalf("err = %v", err) } }