Move 43 Raft consensus test files (8 root-level + 35 in Raft/ subfolder) from NATS.Server.Tests into a dedicated NATS.Server.Raft.Tests project. Update namespaces, add InternalsVisibleTo, and fix timing/exception handling issues in moved test files.
26 lines
702 B
C#
26 lines
702 B
C#
using NATS.Server.Raft;
|
|
|
|
namespace NATS.Server.Raft.Tests;
|
|
|
|
public class RaftSnapshotTransferParityTests
|
|
{
|
|
[Fact]
|
|
public async Task Snapshot_transfer_installs_snapshot_when_follower_falls_behind()
|
|
{
|
|
var transport = new InMemoryRaftTransport();
|
|
var leader = new RaftNode("L", transport);
|
|
var follower = new RaftNode("F", transport);
|
|
transport.Register(leader);
|
|
transport.Register(follower);
|
|
|
|
var snapshot = new RaftSnapshot
|
|
{
|
|
LastIncludedIndex = 10,
|
|
LastIncludedTerm = 3,
|
|
};
|
|
|
|
await transport.InstallSnapshotAsync("L", "F", snapshot, default);
|
|
follower.AppliedIndex.ShouldBe(10);
|
|
}
|
|
}
|