Builds: design 47 G GR8 (per-verb grants), area 2 of the join Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
22 lines
688 B
Go
22 lines
688 B
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
// The seat verbs the module calls are in its manifest's invokes, which the grants part reads per verb (design 47 G GR8): the
|
|
// assignments that tell who holds the seat mesh-broker (seatlist.HolderOf) and the broker's show that names its finding stream (A-274).
|
|
func TestTheManifestInvokesTheSeatVerbsTheModuleCalls(t *testing.T) {
|
|
raw, err := os.ReadFile(moduleDir + "/module.json")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
for _, verb := range []string{"seat:mesh-module-assigner.assignments", "seat:mesh-broker.show"} {
|
|
if !strings.Contains(string(raw), `"`+verb+`"`) {
|
|
t.Errorf("the manifest does not invoke %s", verb)
|
|
}
|
|
}
|
|
}
|