Refactor code structure and optimize performance across multiple modules

This commit is contained in:
StellaOps Bot
2025-12-26 20:03:22 +02:00
parent c786faae84
commit b4fc66feb6
3353 changed files with 88254 additions and 1590657 deletions

View File

@@ -3,11 +3,13 @@ using StellaOps.Canonical.Json;
using StellaOps.TestKit.Determinism;
using Xunit;
using StellaOps.TestKit;
namespace StellaOps.TestKit.Tests;
public sealed class DeterminismManifestTests
{
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void ToCanonicalBytes_WithValidManifest_ProducesDeterministicOutput()
{
// Arrange
@@ -21,7 +23,8 @@ public sealed class DeterminismManifestTests
bytes1.Should().Equal(bytes2, "Same manifest should produce identical canonical bytes");
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void ToCanonicalString_WithValidManifest_ProducesDeterministicString()
{
// Arrange
@@ -37,7 +40,8 @@ public sealed class DeterminismManifestTests
json1.Should().NotContain(" ", "Canonical JSON should have no indentation");
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void WriteToFile_AndReadFromFile_RoundTripsSuccessfully()
{
// Arrange
@@ -64,7 +68,8 @@ public sealed class DeterminismManifestTests
}
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task WriteToFileAsync_AndReadFromFileAsync_RoundTripsSuccessfully()
{
// Arrange
@@ -91,7 +96,8 @@ public sealed class DeterminismManifestTests
}
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void FromBytes_WithValidJson_DeserializesSuccessfully()
{
// Arrange
@@ -105,7 +111,8 @@ public sealed class DeterminismManifestTests
deserialized.Should().BeEquivalentTo(manifest);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void FromString_WithValidJson_DeserializesSuccessfully()
{
// Arrange
@@ -119,7 +126,8 @@ public sealed class DeterminismManifestTests
deserialized.Should().BeEquivalentTo(manifest);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void FromBytes_WithInvalidSchemaVersion_ThrowsInvalidOperationException()
{
// Arrange
@@ -134,7 +142,8 @@ public sealed class DeterminismManifestTests
.WithMessage("*schema version*2.0*");
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void TryReadFromFileAsync_WithNonExistentFile_ReturnsNull()
{
// Arrange
@@ -147,7 +156,8 @@ public sealed class DeterminismManifestTests
result.Should().BeNull();
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void ReadFromFile_WithNonExistentFile_ThrowsFileNotFoundException()
{
// Arrange
@@ -160,7 +170,8 @@ public sealed class DeterminismManifestTests
act.Should().Throw<FileNotFoundException>();
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void ComputeCanonicalHash_ProducesDeterministicHash()
{
// Arrange
@@ -175,7 +186,8 @@ public sealed class DeterminismManifestTests
hash1.Should().MatchRegex("^[0-9a-f]{64}$", "Hash should be 64-character hex string");
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void CreateManifest_WithValidInputs_CreatesManifestWithCorrectHash()
{
// Arrange
@@ -216,7 +228,8 @@ public sealed class DeterminismManifestTests
manifest.CanonicalHash.Value.Should().Be(expectedHash);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void CreateManifestForJsonArtifact_WithValidInputs_CreatesManifestWithCanonicalHash()
{
// Arrange
@@ -255,7 +268,8 @@ public sealed class DeterminismManifestTests
manifest.CanonicalHash.Value.Should().Be(expectedHash);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void CreateManifest_WithInputStamps_IncludesInputStamps()
{
// Arrange
@@ -292,7 +306,8 @@ public sealed class DeterminismManifestTests
manifest.Inputs.SourceCodeHash.Should().Be("789abc");
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void CreateManifest_WithReproducibilityMetadata_IncludesMetadata()
{
// Arrange
@@ -331,7 +346,8 @@ public sealed class DeterminismManifestTests
manifest.Reproducibility.NormalizationRules.Should().ContainInOrder("UTF-8", "LF line endings", "sorted JSON keys");
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void CreateManifest_WithVerificationInfo_IncludesVerification()
{
// Arrange
@@ -368,7 +384,8 @@ public sealed class DeterminismManifestTests
manifest.Verification.Baseline.Should().Be("tests/baselines/sbom-alpine-3.18.determinism.json");
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void ManifestSerialization_WithComplexMetadata_PreservesAllFields()
{
// Arrange