stabilizaiton work - projects rework for maintenanceability and ui livening
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
using StellaOps.TestKit;
|
||||
using Xunit;
|
||||
|
||||
namespace StellaOps.Canonical.Json.Tests;
|
||||
|
||||
public partial class CanonVersionTests
|
||||
{
|
||||
[Trait("Category", TestCategories.Unit)]
|
||||
[Fact]
|
||||
public void HashVersioned_DiffersFromLegacyHash()
|
||||
{
|
||||
var obj = new { foo = "bar", count = 42 };
|
||||
|
||||
var legacyHash = CanonJson.Hash(obj);
|
||||
var versionedHash = CanonJson.HashVersioned(obj);
|
||||
|
||||
Assert.NotEqual(legacyHash, versionedHash);
|
||||
}
|
||||
|
||||
[Trait("Category", TestCategories.Unit)]
|
||||
[Fact]
|
||||
public void HashVersionedPrefixed_DiffersFromLegacyHashPrefixed()
|
||||
{
|
||||
var obj = new { foo = "bar", count = 42 };
|
||||
|
||||
var legacyHash = CanonJson.HashPrefixed(obj);
|
||||
var versionedHash = CanonJson.HashVersionedPrefixed(obj);
|
||||
|
||||
Assert.NotEqual(legacyHash, versionedHash);
|
||||
Assert.StartsWith("sha256:", versionedHash);
|
||||
Assert.StartsWith("sha256:", legacyHash);
|
||||
}
|
||||
|
||||
[Trait("Category", TestCategories.Unit)]
|
||||
[Fact]
|
||||
public void HashVersioned_SameInput_ProducesSameHash()
|
||||
{
|
||||
var obj = new { foo = "bar", count = 42 };
|
||||
|
||||
var hash1 = CanonJson.HashVersioned(obj);
|
||||
var hash2 = CanonJson.HashVersioned(obj);
|
||||
|
||||
Assert.Equal(hash1, hash2);
|
||||
}
|
||||
|
||||
[Trait("Category", TestCategories.Unit)]
|
||||
[Fact]
|
||||
public void HashVersioned_DifferentVersions_ProduceDifferentHashes()
|
||||
{
|
||||
var obj = new { foo = "bar" };
|
||||
|
||||
var hashV1 = CanonJson.HashVersioned(obj, "stella:canon:v1");
|
||||
var hashV2 = CanonJson.HashVersioned(obj, "stella:canon:v2");
|
||||
|
||||
Assert.NotEqual(hashV1, hashV2);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user