A tool reads one module's bindings again from the seat events the shared stream still holds (issue 1966)
A binding the bus module said created that the part did not keep had no recovery: distribution's holds, windows, mirrors and events are missing on the bus node's memberships. grants_bindings_again, a hand act, asks the process to read the seat mesh-broker's created, recreated and dropped of one module again from EVENTS by sequence and keep each through HearBroker in order, so a dropped entry stays dropped. grants_bindings shows what it kept, and says when the stream no longer holds a created: then the seat's list answering bindings is the path (the record extending ADR 0595 §7). The part alone is granted the stream's message get, no consumer. Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
This commit is contained in:
@@ -600,13 +600,18 @@ func TestTheCopiedComposerComposesAsTheControllers(t *testing.T) {
|
||||
t.Errorf("a one-filter consumer's grants = %v: its update is the no-filter create form", one)
|
||||
}
|
||||
for _, u := range users {
|
||||
if u.Module != GrantsModule || u.Kind != KindModule {
|
||||
continue
|
||||
}
|
||||
perms, err := PermissionsFor(u)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
// Issue 1966: the grants part alone reads the shared events stream by sequence, to read the seat mesh-broker's
|
||||
// events again (grants_bindings_again).
|
||||
if may := MayPublish(perms, "$JS.API.STREAM.MSG.GET.EVENTS"); may != (u.Module == GrantsModule && u.Kind == KindModule) {
|
||||
t.Errorf("%s %s may read EVENTS by sequence: %v", u.Kind, u.Module, may)
|
||||
}
|
||||
if u.Module != GrantsModule || u.Kind != KindModule {
|
||||
continue
|
||||
}
|
||||
if !MayPublish(perms, "$JS.API.CONSUMER.CREATE.EVENTS.a_m") || MayPublish(perms, "$JS.API.CONSUMER.CREATE.EVENTS.a_quiet") ||
|
||||
MayPublish(perms, "$JS.API.CONSUMER.DELETE.EVENTS.a_m") || MayPublish(perms, "$JS.API.CONSUMER.CREATE.EVENTS.a_m.mesh.mod.x.event.happened") {
|
||||
t.Errorf("the grants part creates consumers as %v", u.CreatesConsumers)
|
||||
|
||||
Reference in New Issue
Block a user