feat: implement raft log replication and apply
This commit is contained in:
19
tests/NATS.Server.Tests/RaftReplicationTests.cs
Normal file
19
tests/NATS.Server.Tests/RaftReplicationTests.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using NATS.Server.Raft;
|
||||
|
||||
namespace NATS.Server.Tests;
|
||||
|
||||
public class RaftReplicationTests
|
||||
{
|
||||
[Fact]
|
||||
public async Task Leader_replicates_entry_to_quorum_and_applies()
|
||||
{
|
||||
var cluster = RaftTestCluster.Create(3);
|
||||
var leader = await cluster.ElectLeaderAsync();
|
||||
|
||||
var idx = await leader.ProposeAsync("create-stream", default);
|
||||
idx.ShouldBeGreaterThan(0);
|
||||
|
||||
await cluster.WaitForAppliedAsync(idx);
|
||||
cluster.Nodes.All(n => n.AppliedIndex >= idx).ShouldBeTrue();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user