From 5b2ff5e321bef48a597a737edba45eda2a34fc1f Mon Sep 17 00:00:00 2001 From: jochen Date: Mon, 2 Nov 2026 00:26:04 +0100 Subject: [PATCH] =?UTF-8?q?Test=20that=20node-tools'=20manifest=20is=20not?= =?UTF-8?q?=20refused=20by=20the=20lease=20write's=20check=20(ADR=200571?= =?UTF-8?q?=20=C2=A713)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tests: one added, the first of its kind in this repository; the repository holds 128 unit tests, within its budget of 500. Built against the group's mesh-sdk through a go.work outside the tree; go.mod is not re-pinned here. (issue 774, 774/S33) Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL --- node-tools/internal/provide/provide_test.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/node-tools/internal/provide/provide_test.go b/node-tools/internal/provide/provide_test.go index 89fd480..216e1ef 100644 --- a/node-tools/internal/provide/provide_test.go +++ b/node-tools/internal/provide/provide_test.go @@ -194,3 +194,19 @@ func TestOnlyTheMachinesRuntimeStartsTheHelper(t *testing.T) { Start(nil, c.module, c.node, time.Second, said.Logf)() } } + +// 774/S33 (ADR 0571 clause 13): this manifest, read as the lease write's check reads it, is not refused at the write: it +// reads and invokes nothing of the controller and consumes nothing of it. +func TestTheManifestIsNotRefusedAtTheLeaseWrite(t *testing.T) { + raw, err := os.ReadFile("../../module.json") + if err != nil { + t.Fatal(err) + } + m, err := catalogue.Decode(raw) + if err != nil { + t.Fatal(err) + } + if refused := catalogue.ManifestRefusals(map[string]catalogue.Manifest{Module: m}, catalogue.PhaseWrite); len(refused) != 0 { + t.Errorf("the lease write's check refuses node-tools' manifest: %v", refused) + } +}