Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions test/MeshWeaver.NodeOperations.Test/SpaceMenuAndAccessTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,12 @@ public async Task Space_HasStandardCreatableTypes()
typeNames.Should().Contain("Thread", "Thread should be creatable under Space");
typeNames.Should().Contain("Agent", "Agent should be creatable under Space");

await NodeFactory.DeleteNode(spaceId).Should().Emit();
// The recursive delete fans out a DeleteNodeRequest per descendant (here: the creator
// _Access grant), each ACTIVATING that leaf's per-node hub — 5-45s cold start on a loaded
// CI shard (HandleDeleteNodeRequest). The operation's own ceiling is
// MeshOperationOptions.Timeout (30s); waiting only the 10s assertion default sat BELOW the
// operation's contract and was the shard-5 red on otherwise-green runs.
await NodeFactory.DeleteNode(spaceId).Should().Within(30.Seconds()).Emit();
Comment on lines +125 to +130
}

[Fact(Timeout = 60000)]
Expand Down Expand Up @@ -153,6 +158,8 @@ await NodeFactory.CreateNode(
children.Should().Contain(c => c.NodeType == "Markdown" && c.Path == $"{spaceId}/Overview",
"Overview markdown page should exist as child");

await NodeFactory.DeleteNode(spaceId).Should().Emit();
// Same wait-to-the-operation's-contract as above — this delete additionally fans out to
// the Overview child's hub, so two cold per-node activations sit inside the wait.
await NodeFactory.DeleteNode(spaceId).Should().Within(30.Seconds()).Emit();
}
}
Loading