56 lines
1.7 KiB
C#
56 lines
1.7 KiB
C#
using System.Text.Json;
|
|
using ZB.MOM.WW.CBDDC.Core.Storage;
|
|
|
|
namespace ZB.MOM.WW.CBDDC.Core.Tests;
|
|
|
|
public class DatasetAwareModelTests
|
|
{
|
|
/// <summary>
|
|
/// Verifies <see cref="DocumentMetadata" /> defaults to the primary dataset.
|
|
/// </summary>
|
|
[Fact]
|
|
public void DocumentMetadata_ShouldDefaultDatasetId_ToPrimary()
|
|
{
|
|
var metadata = new DocumentMetadata("Users", "42", new HlcTimestamp(100, 0, "node"));
|
|
|
|
metadata.DatasetId.ShouldBe(DatasetId.Primary);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Verifies dataset identifiers survive JSON round-trips for <see cref="DocumentMetadata" />.
|
|
/// </summary>
|
|
[Fact]
|
|
public void DocumentMetadata_SerializationRoundTrip_ShouldPreserveDatasetId()
|
|
{
|
|
var original = new DocumentMetadata("Users", "42", new HlcTimestamp(100, 0, "node"), false, "logs");
|
|
|
|
string json = JsonSerializer.Serialize(original);
|
|
var restored = JsonSerializer.Deserialize<DocumentMetadata>(json);
|
|
|
|
restored.ShouldNotBeNull();
|
|
restored.DatasetId.ShouldBe("logs");
|
|
}
|
|
|
|
/// <summary>
|
|
/// Verifies <see cref="SnapshotMetadata" /> defaults to the primary dataset.
|
|
/// </summary>
|
|
[Fact]
|
|
public void SnapshotMetadata_ShouldDefaultDatasetId_ToPrimary()
|
|
{
|
|
var metadata = new SnapshotMetadata();
|
|
|
|
metadata.DatasetId.ShouldBe(DatasetId.Primary);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Verifies <see cref="PeerOplogConfirmation" /> defaults to the primary dataset.
|
|
/// </summary>
|
|
[Fact]
|
|
public void PeerOplogConfirmation_ShouldDefaultDatasetId_ToPrimary()
|
|
{
|
|
var confirmation = new PeerOplogConfirmation();
|
|
|
|
confirmation.DatasetId.ShouldBe(DatasetId.Primary);
|
|
}
|
|
}
|