public void Verify_it_can_create_a_json_object()
    {
        // File was shortened to only show relevant information for this test
        var fileContents =
            @"{
    ""components"": [
        {
            ""purl"": ""pkg:nuget/org.corgibytes.calculatron/[email protected]""
        },
        {
            ""purl"": ""pkg:nuget/org.corgibytes.flyswatter/[email protected]""
        },
        {
            ""purl"": ""pkg:composer/org.corgibytes.tea/[email protected]""
        }
    ]
}";

        _fileReaderService.FeedJson(fileContents);

        var expectedPackageUrls = new List <PackageURL>
        {
            new("pkg:nuget/org.corgibytes.calculatron/[email protected]"),
            new("pkg:nuget/org.corgibytes.flyswatter/[email protected]"),
            new("pkg:composer/org.corgibytes.tea/[email protected]")
        };

        Assert.Equivalent(expectedPackageUrls, _readCycloneDxFile.AsPackageUrls("This/is/a/filepath"));
    }
예제 #2
0
    public void Verify_it_can_process_an_entire_file_as_list()
    {
        // This file only resembles what we need from it. A typical CycloneDX file would contain more info
        var fileContents =
            @"{
    ""components"": [
        {
            ""purl"": ""pkg:nuget/org.corgibytes.flyswatter/[email protected]""
        },
        {
            ""purl"": ""pkg:nuget/org.corgibytes.tea/[email protected]""
        }
    ]
}";

        _fileReaderService.FeedJson(fileContents);
        var expectedList = new List <PackageLibYear>
        {
            new(
                new DateTimeOffset(1990, 1, 29, 0, 0, 0, TimeSpan.Zero),
                new PackageURL("pkg:nuget/org.corgibytes.flyswatter/[email protected]"),
                new DateTimeOffset(1990, 1, 29, 0, 0, 0, TimeSpan.Zero),
                new PackageURL("pkg:nuget/org.corgibytes.flyswatter/[email protected]"),
                0
                ),
            new(
                new DateTimeOffset(2004, 11, 11, 0, 0, 0, TimeSpan.Zero),
                new PackageURL("pkg:nuget/org.corgibytes.tea/[email protected]"),
                new DateTimeOffset(2011, 10, 26, 0, 0, 0, TimeSpan.Zero),
                new PackageURL("pkg:nuget/org.corgibytes.tea/[email protected]"),
                6.96
                )
        };

        var actualList = _calculateLibYearFromCycloneDxFile.AsList("/this/is/a/path");

        Assert.Equivalent(expectedList, actualList);
    }