Skip to content

Commit ae8c3c3

Browse files
tarun06sfoslund
andauthored
Add-support-for-conan-to-spdx-file (#549)
Co-authored-by: Sarah Oslund <[email protected]>
1 parent 3c6bb73 commit ae8c3c3

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

src/Microsoft.Sbom.Adapters/Adapters/ComponentDetection/ScannedComponentExtensions.cs

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ public static class ScannedComponentExtensions
2222
return component.Component switch
2323
{
2424
CargoComponent cargoComponent => cargoComponent.ToSbomPackage(component),
25+
ConanComponent conanComponent => conanComponent.ToSbomPackage(),
2526
CondaComponent condaComponent => condaComponent.ToSbomPackage(),
2627
DockerImageComponent dockerImageComponent => dockerImageComponent.ToSbomPackage(),
2728
GitComponent gitComponent => gitComponent.ToSbomPackage(),

test/Microsoft.Sbom.Adapters.Tests/ComponentDetectionToSBOMPackageAdapterTests.cs

+20
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,26 @@ public void CargoComponent_ToSbomPackage()
128128
Assert.AreEqual(cargoComponent.Version, sbomPackage.PackageVersion);
129129
}
130130

131+
[TestMethod]
132+
public void ConanComponent_ToSbomPackage()
133+
{
134+
var md5 = Guid.NewGuid().ToString();
135+
var sha1Hash = Guid.NewGuid().ToString();
136+
137+
var conanComponent = new ConanComponent("name", "version", md5, sha1Hash);
138+
var scannedComponent = new ExtendedScannedComponent() { Component = conanComponent };
139+
140+
var sbomPackage = scannedComponent.ToSbomPackage(new AdapterReport());
141+
142+
Assert.IsNotNull(sbomPackage.Id);
143+
Assert.IsNotNull(sbomPackage.PackageUrl);
144+
Assert.AreEqual(conanComponent.Name, sbomPackage.PackageName);
145+
Assert.AreEqual(conanComponent.Version, sbomPackage.PackageVersion);
146+
Assert.IsNotNull(sbomPackage.Checksum.First(x => x.ChecksumValue == conanComponent.Md5Hash));
147+
Assert.IsNotNull(sbomPackage.Checksum.First(x => x.ChecksumValue == conanComponent.Sha1Hash));
148+
Assert.AreEqual(conanComponent.PackageSourceURL, sbomPackage.PackageSource);
149+
}
150+
131151
[TestMethod]
132152
public void CondaComponent_ToSbomPackage()
133153
{

0 commit comments

Comments
 (0)