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

@@ -4,6 +4,7 @@ using StellaOps.Scanner.Storage.Repositories;
using StellaOps.Scanner.Storage.Services;
using Xunit;
using StellaOps.TestKit;
namespace StellaOps.Scanner.Storage.Tests;
/// <summary>
@@ -23,7 +24,8 @@ public sealed class ClassificationChangeTrackerTests
new FakeTimeProvider(DateTimeOffset.Parse("2025-12-17T00:00:00Z")));
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task TrackChangeAsync_ActualChange_InsertsToRepository()
{
var change = CreateChange(ClassificationStatus.Unknown, ClassificationStatus.Affected);
@@ -34,7 +36,8 @@ public sealed class ClassificationChangeTrackerTests
Assert.Same(change, _repository.InsertedChanges[0]);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task TrackChangeAsync_NoOpChange_SkipsInsert()
{
var change = CreateChange(ClassificationStatus.Affected, ClassificationStatus.Affected);
@@ -44,7 +47,8 @@ public sealed class ClassificationChangeTrackerTests
Assert.Empty(_repository.InsertedChanges);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task TrackChangesAsync_FiltersNoOpChanges()
{
var changes = new[]
@@ -60,7 +64,8 @@ public sealed class ClassificationChangeTrackerTests
Assert.Equal(2, _repository.InsertedBatches[0].Count);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task TrackChangesAsync_EmptyAfterFilter_DoesNotInsert()
{
var changes = new[]
@@ -74,35 +79,40 @@ public sealed class ClassificationChangeTrackerTests
Assert.Empty(_repository.InsertedBatches);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void IsFnTransition_UnknownToAffected_ReturnsTrue()
{
var change = CreateChange(ClassificationStatus.Unknown, ClassificationStatus.Affected);
Assert.True(change.IsFnTransition);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void IsFnTransition_UnaffectedToAffected_ReturnsTrue()
{
var change = CreateChange(ClassificationStatus.Unaffected, ClassificationStatus.Affected);
Assert.True(change.IsFnTransition);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void IsFnTransition_AffectedToFixed_ReturnsFalse()
{
var change = CreateChange(ClassificationStatus.Affected, ClassificationStatus.Fixed);
Assert.False(change.IsFnTransition);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void IsFnTransition_NewToAffected_ReturnsFalse()
{
var change = CreateChange(ClassificationStatus.New, ClassificationStatus.Affected);
Assert.False(change.IsFnTransition);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task ComputeDeltaAsync_NewFinding_RecordsAsNewStatus()
{
var tenantId = Guid.NewGuid();
@@ -123,7 +133,8 @@ public sealed class ClassificationChangeTrackerTests
Assert.Equal(ClassificationStatus.Affected, delta[0].NewStatus);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task ComputeDeltaAsync_StatusChange_RecordsDelta()
{
var tenantId = Guid.NewGuid();