Issue 1585, S19: the strict parser, every manifest problem function and the judge's tables (192 declarations, about 5,200 lines) and their 244 tests leave; composition keeps its own refusals and the helpers it uses. The catalogue's tests decode the manifests they build. ParseManifest, ParseManifestWith, ParseManifestForInputs, CatalogueProblems and the rest are gone; mesh-delivery-indexer/judge holds them. Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
47 lines
1.5 KiB
Go
47 lines
1.5 KiB
Go
package catalogue
|
|
|
|
import (
|
|
"path/filepath"
|
|
"testing"
|
|
|
|
"git.novox.be/novox/mesh-sdk/go/internal/beside"
|
|
)
|
|
|
|
// TestEveryCatalogueManifestParses runs the real catalogue through the real gate.
|
|
//
|
|
// Not a fixture: the point is whether the manifests as written are accepted by the control plane that
|
|
// will read them, and a copy of one manifest proves nothing about the other seventy-one.
|
|
// catalogueRoot is the catalogue these checks run over: in a merge check the clone the build seat put
|
|
// beside this one, elsewhere the copy captured in testdata/beside (internal/beside). A check that only
|
|
// ran when somebody remembered a variable was a check nobody ran (novox/hq issue 134), and one that read
|
|
// whatever checkout sat beside judged the machine, not the change (novox/hq issue 432): it never skips.
|
|
func catalogueRoot(t *testing.T) string {
|
|
t.Helper()
|
|
return beside.Dir(t, "mesh-catalog")
|
|
}
|
|
|
|
func TestEveryCatalogueManifestParses(t *testing.T) {
|
|
_, found := catalogueManifests(t)
|
|
named, routed := 0, 0
|
|
for _, r := range found {
|
|
m, err := r.manifest, r.err
|
|
if err != nil {
|
|
t.Errorf("%s: %v", filepath.Base(filepath.Dir(r.path)), err)
|
|
continue
|
|
}
|
|
for _, l := range m.Listens {
|
|
if l.Name != "" {
|
|
named++
|
|
}
|
|
}
|
|
for port := range RoutedPorts(m) {
|
|
_ = port
|
|
routed++
|
|
}
|
|
}
|
|
t.Logf("%d manifests, %d named endpoints, %d routed endpoints resolved", len(found), named, routed)
|
|
if named == 0 {
|
|
t.Fatal("no endpoint in the catalogue is named, so this proved nothing")
|
|
}
|
|
}
|