27 lines
904 B
C#
27 lines
904 B
C#
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());
|
|
}
|
|
}
|