diff --git a/internal/compose/resolution/delivery_seat.go b/internal/compose/resolution/delivery_seat.go index a7353da..851b592 100644 --- a/internal/compose/resolution/delivery_seat.go +++ b/internal/compose/resolution/delivery_seat.go @@ -1,12 +1,13 @@ package resolution import ( + "git.novox.be/novox/mesh-delivery/contracts/go/clients/meshdeliveryclient" mcat "git.novox.be/novox/mesh-sdk/go/catalogue" ) // deliveryRemovedInR6 is the row of a verb release 6 removed from the delivery seat. func deliveryRemovedInR6(name string) mcat.Verb { - return mcat.Verb{Name: name, Description: "Removed in R6 (ADR 0539): refused by name, naming its replacement: " + mcat.RemovedDeliveryVerbs[name], Input: schema(nil, nil), Optional: true} + return mcat.Verb{Name: name, Description: meshdeliveryclient.RemovedPrefix + meshdeliveryclient.RemovedVerbs()[name], Input: schema(nil, nil), Optional: true} } // deliveryVerbs are the delivery seat's tools: what reads the merges and checks, and the acts of a person and healer H2 diff --git a/internal/compose/resolution/delivery_seat_test.go b/internal/compose/resolution/delivery_seat_test.go new file mode 100644 index 0000000..5088f6d --- /dev/null +++ b/internal/compose/resolution/delivery_seat_test.go @@ -0,0 +1,30 @@ +package resolution + +import ( + "testing" + + "git.novox.be/novox/mesh-delivery/contracts/go/clients/meshdeliveryclient" +) + +// Each verb release 6 removed from the delivery seat is a row refusing it by name with the replacement the seat's client +// gives (the list is the contract's, not the SDK's: novox/hq ADR 0634 ยง2), and the rows are exactly those verbs. +func TestTheDeliverySeatRefusesTheRemovedVerbsByNameWithTheClientsReplacement(t *testing.T) { + removed := meshdeliveryclient.RemovedVerbs() + rows := 0 + for _, v := range deliveryVerbs() { + want, isRemoved := removed[v.Name] + if !isRemoved { + continue + } + rows++ + if v.Description != meshdeliveryclient.RemovedPrefix+want || !v.Optional { + t.Errorf("%s = %q (optional %v), want %q", v.Name, v.Description, v.Optional, meshdeliveryclient.RemovedPrefix+want) + } + } + if rows != len(removed) { + t.Errorf("%d rows refuse a removed verb, the client names %d", rows, len(removed)) + } + if len(removed) != 5 { + t.Errorf("the removed verbs are %v", removed) + } +}