using System.Linq; using StellaOps.Concelier.Connector.Distro.Alpine.Dto; using Xunit; namespace StellaOps.Concelier.Connector.Distro.Alpine.Tests; public sealed class AlpineSecDbParserTests { [Fact] public void Parse_SecDbFixture_ExtractsPackagesAndMetadata() { var dto = AlpineFixtureReader.LoadDto("v3.20-main.json"); Assert.Equal("v3.20", dto.DistroVersion); Assert.Equal("main", dto.RepoName); Assert.Equal("https://dl-cdn.alpinelinux.org/alpine", dto.UrlPrefix); Assert.NotEmpty(dto.Packages); var apkTools = dto.Packages.Single(pkg => pkg.Name == "apk-tools"); Assert.True(apkTools.Secfixes.ContainsKey("2.12.6-r0")); Assert.Contains("CVE-2021-36159", apkTools.Secfixes["2.12.6-r0"]); var busybox = dto.Packages.Single(pkg => pkg.Name == "busybox"); Assert.True(busybox.Secfixes.Keys.Any()); } }