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 f10d83c444
1385 changed files with 69732 additions and 10280 deletions

View File

@@ -18,7 +18,8 @@ public sealed class EvidenceChunkerTests
_chunker = new EvidenceChunker(_options);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task ChunkAsync_ShouldSplitEvidenceIntoMultipleChunks_WhenLargerThanChunkSize()
{
// Arrange
@@ -44,7 +45,8 @@ public sealed class EvidenceChunkerTests
}
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task ChunkAsync_ShouldCreateSingleChunk_WhenSmallerThanChunkSize()
{
// Arrange
@@ -62,7 +64,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 +81,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 +99,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 +117,8 @@ public sealed class EvidenceChunkerTests
reassembled.Should().BeEquivalentTo(original);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task ReassembleAsync_ShouldThrow_WhenMerkleRootMismatch()
{
// Arrange
@@ -128,7 +134,8 @@ public sealed class EvidenceChunkerTests
.WithMessage("*Merkle root mismatch*");
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task ReassembleAsync_ShouldThrow_WhenChunkCorrupted()
{
// Arrange
@@ -151,7 +158,8 @@ public sealed class EvidenceChunkerTests
.WithMessage("*verification failed*");
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void VerifyChunk_ShouldReturnTrue_WhenChunkValid()
{
// Arrange
@@ -175,7 +183,8 @@ public sealed class EvidenceChunkerTests
_chunker.VerifyChunk(chunk).Should().BeTrue();
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void VerifyChunk_ShouldReturnFalse_WhenHashMismatch()
{
// Arrange
@@ -195,7 +204,8 @@ public sealed class EvidenceChunkerTests
_chunker.VerifyChunk(chunk).Should().BeFalse();
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void ComputeMerkleRoot_ShouldReturnSameResult_ForSameInput()
{
// Arrange
@@ -210,7 +220,8 @@ public sealed class EvidenceChunkerTests
root1.Should().StartWith("sha256:");
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void ComputeMerkleRoot_ShouldHandleSingleHash()
{
// Arrange
@@ -223,7 +234,8 @@ public sealed class EvidenceChunkerTests
root.Should().Be("sha256:aabbccdd");
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void ComputeMerkleRoot_ShouldHandleOddNumberOfHashes()
{
// Arrange
@@ -237,13 +249,15 @@ public sealed class EvidenceChunkerTests
root.Should().StartWith("sha256:");
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task ChunkStreamAsync_ShouldYieldChunksInOrder()
{
// Arrange
var evidence = new byte[200];
Random.Shared.NextBytes(evidence);
using var stream = new MemoryStream(evidence);
using StellaOps.TestKit;
const string contentType = "application/octet-stream";
// Act
@@ -261,7 +275,8 @@ public sealed class EvidenceChunkerTests
}
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task Roundtrip_ShouldPreserveDataIntegrity()
{
// Arrange - use realistic chunk size