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,6 +3,7 @@ using Microsoft.Extensions.Logging.Abstractions;
using StellaOps.Scanner.Analyzers.OS.Pkgutil;
using Xunit;
using StellaOps.TestKit;
namespace StellaOps.Scanner.Analyzers.OS.Pkgutil.Tests;
public sealed class PkgutilPackageAnalyzerTests
@@ -29,13 +30,15 @@ public sealed class PkgutilPackageAnalyzerTests
_logger);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void AnalyzerId_ReturnsPkgutil()
{
Assert.Equal("pkgutil", _analyzer.AnalyzerId);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task AnalyzeAsync_WithValidReceipts_ReturnsPackages()
{
// Arrange
@@ -50,7 +53,8 @@ public sealed class PkgutilPackageAnalyzerTests
Assert.True(result.Packages.Count > 0, "Expected at least one package");
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task AnalyzeAsync_FindsSafariPackage()
{
// Arrange
@@ -66,7 +70,8 @@ public sealed class PkgutilPackageAnalyzerTests
Assert.Contains("pkg:generic/apple/com.apple.pkg.Safari@17.1", safari.PackageUrl);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task AnalyzeAsync_ExtractsVendorFromIdentifier()
{
// Arrange
@@ -81,7 +86,8 @@ public sealed class PkgutilPackageAnalyzerTests
Assert.Equal("apple", safari.SourcePackage);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task AnalyzeAsync_SetsEvidenceSourceToPkgutilReceipt()
{
// Arrange
@@ -97,7 +103,8 @@ public sealed class PkgutilPackageAnalyzerTests
}
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task AnalyzeAsync_ExtractsVendorMetadata()
{
// Arrange
@@ -113,7 +120,8 @@ public sealed class PkgutilPackageAnalyzerTests
Assert.Equal("/", safari.VendorMetadata["pkgutil:volume"]);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task AnalyzeAsync_ResultsAreDeterministicallySorted()
{
// Arrange
@@ -131,7 +139,8 @@ public sealed class PkgutilPackageAnalyzerTests
}
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task AnalyzeAsync_NoReceiptsDirectory_ReturnsEmptyPackages()
{
// Arrange - use temp directory without receipts
@@ -154,7 +163,8 @@ public sealed class PkgutilPackageAnalyzerTests
}
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task AnalyzeAsync_PopulatesTelemetry()
{
// Arrange

View File

@@ -20,6 +20,7 @@
<ItemGroup>
<ProjectReference Include="../../__Libraries/StellaOps.Scanner.Analyzers.OS/StellaOps.Scanner.Analyzers.OS.csproj" />
<ProjectReference Include="../../__Libraries/StellaOps.Scanner.Analyzers.OS.Pkgutil/StellaOps.Scanner.Analyzers.OS.Pkgutil.csproj" />
<ProjectReference Include="../../../__Libraries/StellaOps.TestKit/StellaOps.TestKit.csproj" />
</ItemGroup>
<ItemGroup>
<None Include="Fixtures\**\*" CopyToOutputDirectory="PreserveNewest" />