batch37 task6 implement group E pre-ack snapshot and restore

This commit is contained in:
Joseph Doherty
2026-02-28 23:54:28 -05:00
parent a805af1bea
commit a9ccb66e35
5 changed files with 431 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
using Shouldly;
using ZB.MOM.NatsNet.Server;
namespace ZB.MOM.NatsNet.Server.Tests.Accounts;
public sealed class AccountStreamRestoreTests
{
[Fact]
public void RestoreStream_EmptySnapshot_ReturnsError()
{
var account = new Account { Name = "A" };
var config = new StreamConfig { Name = "S", Storage = StorageType.MemoryStorage };
var (stream, error) = account.RestoreStream(config, new MemoryStream());
stream.ShouldBeNull();
error.ShouldNotBeNull();
}
[Fact]
public void RestoreStream_WithSnapshotData_AddsStream()
{
var account = new Account { Name = "A" };
var config = new StreamConfig { Name = "S", Storage = StorageType.MemoryStorage };
using var snapshot = new MemoryStream([1, 2, 3]);
var (stream, error) = account.RestoreStream(config, snapshot);
error.ShouldBeNull();
stream.ShouldNotBeNull();
stream!.Name.ShouldBe("S");
}
}