diff --git a/modules/mesh-delivery-assigner/cmd/mesh-delivery-assigner/integration_test.go b/modules/mesh-delivery-assigner/cmd/mesh-delivery-assigner/integration_test.go index 1eb6ed4..5cd0d15 100644 --- a/modules/mesh-delivery-assigner/cmd/mesh-delivery-assigner/integration_test.go +++ b/modules/mesh-delivery-assigner/cmd/mesh-delivery-assigner/integration_test.go @@ -130,9 +130,7 @@ func (b *bed) startStoppable(t *testing.T) (<-chan error, func()) { // 1297/B2b: started whole on its credential, the assigner says on the bus every state its manifest declares, each readable, // having opened every bucket it names. The states are read from module.json, so a state added there is expected here too. -func TestTheAssignerStartsAndSaysWhatItKeeps(t *testing.T) { - b := startBed(t, "") - done := b.start(t) +func saysWhatItKeeps(t *testing.T, b *bed, done <-chan error) { events, err := b.js.Stream(b.ctx, "EVENTS") if err != nil { t.Fatal(err) @@ -1084,7 +1082,7 @@ func TestAProposalIsAnsweredApprovedAndWritten(t *testing.T) { return rev } anchorRev, laptopRev := place("anchor", "web"), place("laptop", "shell") - b.start(t) + saysWhatItKeeps(t, b, b.start(t)) verbs := newSeatTools(bedStore{b}, func(string, any) (json.RawMessage, error) { return json.RawMessage(`{"ok":true}`), nil }) propose := func() delivery.PlacementProposal { t.Helper() diff --git a/modules/mesh-delivery-assigner/cmd/mesh-delivery-assigner/main_test.go b/modules/mesh-delivery-assigner/cmd/mesh-delivery-assigner/main_test.go index d146cc7..70572f5 100644 --- a/modules/mesh-delivery-assigner/cmd/mesh-delivery-assigner/main_test.go +++ b/modules/mesh-delivery-assigner/cmd/mesh-delivery-assigner/main_test.go @@ -24,6 +24,10 @@ import ( // 1297/B2a: the buckets the program opens are exactly the manifest's reads and states, as the broker names them // (`.` read as the bucket `_`), so it is granted what it reads and reads nothing else. func TestOpensWhatItsManifestNames(t *testing.T) { + // 1297/B2a: without a credential the program does not start, and says why. + if err := run(context.Background(), func(string) string { return "" }, io.Discard); err == nil || !strings.Contains(err.Error(), "MESH_BROKER_FILE") { + t.Errorf("run without a credential = %v", err) + } raw, err := os.ReadFile(filepath.Join("..", "..", "module.json")) if err != nil { t.Fatal(err) @@ -105,14 +109,6 @@ func TestOpensWhatItsManifestNames(t *testing.T) { } } -// 1297/B2a: without a credential the program does not start, and says why. -func TestNoCredential(t *testing.T) { - err := run(context.Background(), func(string) string { return "" }, io.Discard) - if err == nil || !strings.Contains(err.Error(), "MESH_BROKER_FILE") { - t.Errorf("run without a credential = %v", err) - } -} - // refusingJS opens every bucket but one, which it refuses with err. type refusingJS struct { jetstream.JetStream diff --git a/modules/mesh-delivery-assigner/cmd/mesh-delivery-assigner/world_test.go b/modules/mesh-delivery-assigner/cmd/mesh-delivery-assigner/world_test.go index ecea239..eb4fa5b 100644 --- a/modules/mesh-delivery-assigner/cmd/mesh-delivery-assigner/world_test.go +++ b/modules/mesh-delivery-assigner/cmd/mesh-delivery-assigner/world_test.go @@ -48,6 +48,7 @@ func pull(repo string, number int, modules map[string]delivery.CandidateModule) // module with no manifest in the preview as removed, a mesh-sdk member's head, and a module the trunk holds from // another repository as defined twice. func TestTheChangeOfACandidate(t *testing.T) { + theWorldCountsTheValuesAKeyTakes(t) f := fakeManifests{} web := f.add(t, "web", `{"module":"web","version":"2"}`) mail := f.add(t, "mail", `{"module":"mail","version":"1"}`) @@ -113,7 +114,7 @@ func TestAManifestFallingBackToAPredefinedKeyIsReadable(t *testing.T) { } // Review round 1 (items 3 and 4): the world counts the values a key takes, so a have written again after an answer is seen. -func TestTheWorldCountsTheValuesAKeyTakes(t *testing.T) { +func theWorldCountsTheValuesAKeyTakes(t *testing.T) { w := newWorld() w.put(delivery.HaveBucket, "ace.web", []byte(`{"v":1}`)) w.put(delivery.HaveBucket, "ace.web", []byte(`{"v":1}`))