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.Homebrew;
using Xunit;
using StellaOps.TestKit;
namespace StellaOps.Scanner.Analyzers.OS.Homebrew.Tests;
public sealed class HomebrewPackageAnalyzerTests
@@ -29,13 +30,15 @@ public sealed class HomebrewPackageAnalyzerTests
_logger);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public void AnalyzerId_ReturnsHomebrew()
{
Assert.Equal("homebrew", _analyzer.AnalyzerId);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task AnalyzeAsync_WithValidCellar_ReturnsPackages()
{
// Arrange
@@ -50,7 +53,8 @@ public sealed class HomebrewPackageAnalyzerTests
Assert.True(result.Packages.Count > 0, "Expected at least one package");
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task AnalyzeAsync_FindsIntelCellarPackages()
{
// Arrange
@@ -67,7 +71,8 @@ public sealed class HomebrewPackageAnalyzerTests
Assert.Contains("pkg:brew/homebrew%2Fcore/openssl%403@3.1.0", openssl.PackageUrl);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task AnalyzeAsync_FindsAppleSiliconCellarPackages()
{
// Arrange
@@ -83,7 +88,8 @@ public sealed class HomebrewPackageAnalyzerTests
Assert.Equal("arm64", jq.Architecture);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task AnalyzeAsync_PackageWithRevision_IncludesRevisionInPurl()
{
// Arrange
@@ -99,7 +105,8 @@ public sealed class HomebrewPackageAnalyzerTests
Assert.Equal("1", wget.Release);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task AnalyzeAsync_ExtractsDependencies()
{
// Arrange
@@ -115,7 +122,8 @@ public sealed class HomebrewPackageAnalyzerTests
Assert.Contains("gettext", wget.Depends);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task AnalyzeAsync_ExtractsVendorMetadata()
{
// Arrange
@@ -133,7 +141,8 @@ public sealed class HomebrewPackageAnalyzerTests
Assert.Equal("https://openssl.org/", openssl.VendorMetadata["homepage"]);
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task AnalyzeAsync_SetsEvidenceSourceToHomebrewCellar()
{
// Arrange
@@ -149,7 +158,8 @@ public sealed class HomebrewPackageAnalyzerTests
}
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task AnalyzeAsync_DiscoversBinFiles()
{
// Arrange
@@ -164,7 +174,8 @@ public sealed class HomebrewPackageAnalyzerTests
Assert.Contains(wget.Files, f => f.Path.Contains("wget"));
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task AnalyzeAsync_ResultsAreDeterministicallySorted()
{
// Arrange
@@ -182,7 +193,8 @@ public sealed class HomebrewPackageAnalyzerTests
}
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task AnalyzeAsync_NoCellar_ReturnsEmptyPackages()
{
// Arrange - use temp directory without Cellar structure
@@ -205,7 +217,8 @@ public sealed class HomebrewPackageAnalyzerTests
}
}
[Fact]
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task AnalyzeAsync_PopulatesTelemetry()
{
// Arrange