more features checks. setup improvements

This commit is contained in:
master
2026-02-13 02:04:55 +02:00
parent 9911b7d73c
commit 9ca2de05df
675 changed files with 37550 additions and 1826 deletions

View File

@@ -0,0 +1,59 @@
{
"type": "integration",
"capturedAtUtc": "2026-02-13T04:36:00Z",
"testCommand": "dotnet test src/Policy/__Tests/StellaOps.Policy.Tests/StellaOps.Policy.Tests.csproj --no-restore -v normal",
"testFilter": "LicenseComplianceEvaluatorTests, LicenseComplianceRealSbomTests",
"testsRun": 781,
"testsPassed": 781,
"testsFailed": 0,
"targetedTestMethods": [
"LicenseComplianceEvaluatorTests.EvaluateAsync_MissingLicenseMarksWarning",
"LicenseComplianceEvaluatorTests.EvaluateAsync_ProhibitedLicenseFails",
"LicenseComplianceEvaluatorTests.EvaluateAsync_HandlesRealWorldExpressions",
"LicenseComplianceEvaluatorTests.EvaluateAsync_UnknownLicenseHandlingDenyFails",
"LicenseComplianceEvaluatorTests.EvaluateAsync_InvalidExpressionTracksUnknownLicense",
"LicenseComplianceEvaluatorTests.EvaluateAsync_BuildsAttributionFindings",
"LicenseComplianceEvaluatorTests.EvaluateAsync_UsesLicenseListWhenExpressionMissing",
"LicenseComplianceEvaluatorTests.EvaluateAsync_ExemptionsSuppressProhibitedLicense",
"LicenseComplianceRealSbomTests.EvaluateAsync_NpmMonorepo_WarnsWithAttribution",
"LicenseComplianceRealSbomTests.EvaluateAsync_AlpineBusybox_FailsOnCopyleft",
"LicenseComplianceRealSbomTests.EvaluateAsync_PythonVenv_FailsConditionalMpl",
"LicenseComplianceRealSbomTests.EvaluateAsync_JavaMultiLicense_WarnsWithAttribution"
],
"behaviorVerified": [
"LicenseComplianceEvaluator: EvaluateAsync evaluates license compliance for all components against policy",
"SPDX expression parsing: 'MIT OR Apache-2.0', 'Apache-2.0 WITH LLVM-exception', 'LGPL-2.1-or-later'",
"Invalid SPDX expression ('MIT AND') tracked as UnknownLicense finding",
"LicenseComplianceStatus: Pass (no issues), Warn (missing/unknown), Fail (prohibited/copyleft/commercial)",
"MissingLicense finding: component with no license data produces Warn status",
"ProhibitedLicense finding: GPL-3.0-only against default policy produces Fail status",
"UnknownLicense finding: UnknownLicenseHandling=Deny causes Fail for unrecognized licenses",
"LicenseFindingType enum: ProhibitedLicense, CopyleftInProprietaryContext, LicenseConflict, UnknownLicense, MissingLicense, AttributionRequired, SourceDisclosureRequired, PatentClauseRisk, CommercialRestriction, ConditionalLicenseViolation",
"LicenseCategory enum: Unknown, Permissive, WeakCopyleft, StrongCopyleft, Proprietary, PublicDomain",
"Attribution requirements: Apache-2.0 components produce AttributionRequired and PatentClauseRisk findings",
"AttributionGenerator: produces Markdown NOTICE with 'Third-Party Attributions' and component PURLs",
"LicenseInventory: Licenses list with Expression/Category/Components/Count, ByCategory counts, UnknownLicenseCount, NoLicenseCount",
"Exemptions: component pattern 'internal-*' with AllowedLicenses=['GPL-3.0-only'] suppresses ProhibitedLicense",
"Licenses array fallback: when LicenseExpression is empty, Licenses list is used (no MissingLicense finding)",
"LicenseKnowledgeBase.LoadDefault: default knowledge base for license metadata",
"LicensePolicyDefaults.Default: default policy configuration",
"Integration: npm monorepo SBOM evaluates with Warn + attribution requirements",
"Integration: Alpine busybox SBOM fails on GPL-2.0-only (copyleft)",
"Integration: Python venv SBOM fails on MPL-2.0 conditional license violation",
"Integration: Java multi-license SBOM handles dual-license 'OR' expressions with attribution"
],
"assertionTypes": [
"status-evaluation",
"finding-detection",
"spdx-parsing",
"attribution-generation",
"exemption-suppression",
"inventory-population",
"real-sbom-integration",
"policy-configuration"
],
"newTestsWritten": [],
"bugsFixed": [],
"rawOutput": "Policy.Tests: Passed! - Failed: 0, Passed: 781, Skipped: 0, Total: 781, Duration: 3s 714ms",
"verdict": "pass"
}