using System.Xml.Linq; using StellaOps.Feedser.Source.Ru.Bdu.Internal; using Xunit; namespace StellaOps.Feedser.Source.Ru.Bdu.Tests; public sealed class RuBduXmlParserTests { [Fact] public void TryParse_ValidElement_ReturnsDto() { const string xml = """ BDU:2025-12345 Уязвимость тестового продукта Описание уязвимости Обновить продукт 2025-10-10 Высокий уровень опасности Существует эксплойт Устранена Подтверждена производителем 1 AV:N/AC:L/Au:N/C:P/I:P/A:P ООО «Вендор» Продукт 1.2.3 Windows ics CWE-79 XSS """; var element = XElement.Parse(xml); var dto = RuBduXmlParser.TryParse(element); Assert.NotNull(dto); Assert.Equal("BDU:2025-12345", dto!.Identifier); Assert.Equal("Уязвимость тестового продукта", dto.Name); Assert.Equal("AV:N/AC:L/Au:N/C:P/I:P/A:P", dto.CvssVector); Assert.Equal(7.5, dto.CvssScore); Assert.Single(dto.Software); Assert.Single(dto.Cwes); } }