package resolution import ( "encoding/json" "os" "path/filepath" "testing" mcat "git.novox.be/novox/mesh-sdk/go/catalogue" "github.com/novox/mesh-host/internal/beside" ) // theCatalogue is every manifest of the catalogue internal/beside finds, parsed the way registration // parses one. func theCatalogue(t *testing.T) []mcat.Manifest { t.Helper() root := beside.Catalogue(t) entries, err := os.ReadDir(root) if err != nil { t.Fatal(err) } var out []mcat.Manifest for _, e := range entries { if !e.IsDir() { continue } raw, err := os.ReadFile(filepath.Join(root, e.Name(), "module.json")) if err != nil { continue } var m mcat.Manifest if err := json.Unmarshal(raw, &m); err != nil { t.Fatalf("%s: %v", e.Name(), err) } out = append(out, m) } if len(out) == 0 { t.Fatalf("no manifests under %s, so this proved nothing", root) } return out }