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

@@ -2,6 +2,8 @@ using FluentAssertions;
using StellaOps.Provcache;
using Xunit;
using StellaOps.TestKit;
namespace StellaOps.Provcache.Tests;
/// <summary>
@@ -18,7 +20,8 @@ public sealed class EvidenceChunkerTests
_chunker = new EvidenceChunker(_options);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task ChunkAsync_ShouldSplitEvidenceIntoMultipleChunks_WhenLargerThanChunkSize()
{
// Arrange
@@ -44,7 +47,8 @@ public sealed class EvidenceChunkerTests
}
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task ChunkAsync_ShouldCreateSingleChunk_WhenSmallerThanChunkSize()
{
// Arrange
@@ -62,7 +66,8 @@ public sealed class EvidenceChunkerTests
result.Chunks[0].BlobSize.Should().Be(32);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task ChunkAsync_ShouldHandleEmptyEvidence()
{
// Arrange
@@ -78,7 +83,8 @@ public sealed class EvidenceChunkerTests
result.TotalSize.Should().Be(0);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task ChunkAsync_ShouldProduceUniqueHashForEachChunk()
{
// Arrange - create evidence with distinct bytes per chunk
@@ -95,7 +101,8 @@ public sealed class EvidenceChunkerTests
result.Chunks[0].ChunkHash.Should().NotBe(result.Chunks[1].ChunkHash);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task ReassembleAsync_ShouldRecoverOriginalEvidence()
{
// Arrange
@@ -112,7 +119,8 @@ public sealed class EvidenceChunkerTests
reassembled.Should().BeEquivalentTo(original);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task ReassembleAsync_ShouldThrow_WhenMerkleRootMismatch()
{
// Arrange
@@ -128,7 +136,8 @@ public sealed class EvidenceChunkerTests
.WithMessage("*Merkle root mismatch*");
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task ReassembleAsync_ShouldThrow_WhenChunkCorrupted()
{
// Arrange
@@ -151,7 +160,8 @@ public sealed class EvidenceChunkerTests
.WithMessage("*verification failed*");
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void VerifyChunk_ShouldReturnTrue_WhenChunkValid()
{
// Arrange
@@ -175,7 +185,8 @@ public sealed class EvidenceChunkerTests
_chunker.VerifyChunk(chunk).Should().BeTrue();
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void VerifyChunk_ShouldReturnFalse_WhenHashMismatch()
{
// Arrange
@@ -195,7 +206,8 @@ public sealed class EvidenceChunkerTests
_chunker.VerifyChunk(chunk).Should().BeFalse();
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void ComputeMerkleRoot_ShouldReturnSameResult_ForSameInput()
{
// Arrange
@@ -210,7 +222,8 @@ public sealed class EvidenceChunkerTests
root1.Should().StartWith("sha256:");
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void ComputeMerkleRoot_ShouldHandleSingleHash()
{
// Arrange
@@ -223,7 +236,8 @@ public sealed class EvidenceChunkerTests
root.Should().Be("sha256:aabbccdd");
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void ComputeMerkleRoot_ShouldHandleOddNumberOfHashes()
{
// Arrange
@@ -237,7 +251,8 @@ public sealed class EvidenceChunkerTests
root.Should().StartWith("sha256:");
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task ChunkStreamAsync_ShouldYieldChunksInOrder()
{
// Arrange
@@ -261,7 +276,8 @@ public sealed class EvidenceChunkerTests
}
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task Roundtrip_ShouldPreserveDataIntegrity()
{
// Arrange - use realistic chunk size