Say what becomes of an event a handler gives up on (hq issue 330)
mesh/merge-gate pass: builds mesh-tools, node-tools → ace, g14, novox, shanks; no bus step; every machine composes with the change as it did without (4 of …
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery delivered
mesh/delivery-group group fix/330-a-message-given-up-on-is-kept delivered: every member is delivered
mesh/merge-gate pass: builds mesh-tools, node-tools → ace, g14, novox, shanks; no bus step; every machine composes with the change as it did without (4 of …
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery delivered
mesh/delivery-group group fix/330-a-message-given-up-on-is-kept delivered: every member is delivered
The comments said a failing event dead-letters, which nothing did; the controller now keeps it, and delivers it again under a subject this runtime reads the same key from (ADR 0264).
This commit is contained in:
@@ -46,3 +46,17 @@ func TestWhatWaitingCannotFixIsFinal(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// An event given up on and delivered again by the controller arrives under `mesh.again.<consumer>.` and
|
||||
// the event's own subject without its `mesh.` (novox/hq issue 330): the handler sees the key it saw the
|
||||
// first time, for a module's event and a seat's.
|
||||
func TestAnEventDeliveredAgainHasItsOwnKey(t *testing.T) {
|
||||
for original, again := range map[string]string{
|
||||
"mesh.mod.gitea.event.pull.merged": "mesh.again.ace_sonarr.mod.gitea.event.pull.merged",
|
||||
"mesh.seat.node-build-agent.event.built": "mesh.again.ace_sonarr.seat.node-build-agent.event.built",
|
||||
} {
|
||||
if keyOf(again) != keyOf(original) {
|
||||
t.Errorf("%s reads as %q, the event as %q", again, keyOf(again), keyOf(original))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user