rename sbom.PackageCatalog to sbom.Packages (#1773)

Signed-off-by: Alex Goodman <alex.goodman@anchore.com>
This commit is contained in:
Alex Goodman 2023-05-01 10:19:58 -04:00 committed by GitHub
parent 10c3cc27e8
commit 5f3d4d285b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
34 changed files with 56 additions and 56 deletions

View File

@ -47,7 +47,7 @@ func generateCatalogPackagesTask(app *config.Application) (Task, error) {
task := func(results *sbom.Artifacts, src *source.Source) ([]artifact.Relationship, error) { task := func(results *sbom.Artifacts, src *source.Source) ([]artifact.Relationship, error) {
packageCatalog, relationships, theDistro, err := syft.CatalogPackages(src, app.ToCatalogerConfig()) packageCatalog, relationships, theDistro, err := syft.CatalogPackages(src, app.ToCatalogerConfig())
results.PackageCatalog = packageCatalog results.Packages = packageCatalog
results.LinuxDistribution = theDistro results.LinuxDistribution = theDistro
return relationships, err return relationships, err

View File

@ -54,7 +54,7 @@ func ToSyftModel(bom *cyclonedx.BOM) (*sbom.SBOM, error) {
s := &sbom.SBOM{ s := &sbom.SBOM{
Artifacts: sbom.Artifacts{ Artifacts: sbom.Artifacts{
PackageCatalog: pkg.NewCollection(), Packages: pkg.NewCollection(),
LinuxDistribution: linuxReleaseFromComponents(*bom.Components), LinuxDistribution: linuxReleaseFromComponents(*bom.Components),
}, },
Source: extractComponents(bom.Metadata), Source: extractComponents(bom.Metadata),
@ -95,7 +95,7 @@ func collectPackages(component *cyclonedx.Component, s *sbom.SBOM, idMap map[str
} }
// TODO there must be a better way than needing to call this manually: // TODO there must be a better way than needing to call this manually:
p.SetID() p.SetID()
s.Artifacts.PackageCatalog.Add(*p) s.Artifacts.Packages.Add(*p)
} }
if component.Components != nil { if component.Components != nil {

View File

@ -210,7 +210,7 @@ func Test_decode(t *testing.T) {
assert.Equal(t, e.ver, sbom.Artifacts.LinuxDistribution.VersionID) assert.Equal(t, e.ver, sbom.Artifacts.LinuxDistribution.VersionID)
} }
if e.pkg != "" { if e.pkg != "" {
for p := range sbom.Artifacts.PackageCatalog.Enumerate() { for p := range sbom.Artifacts.Packages.Enumerate() {
if e.pkg != p.Name { if e.pkg != p.Name {
continue continue
} }
@ -238,7 +238,7 @@ func Test_decode(t *testing.T) {
if e.relation != "" { if e.relation != "" {
foundRelation := false foundRelation := false
for _, r := range sbom.Relationships { for _, r := range sbom.Relationships {
p := sbom.Artifacts.PackageCatalog.Package(r.To.ID()) p := sbom.Artifacts.Packages.Package(r.To.ID())
if e.relation == p.Name { if e.relation == p.Name {
foundRelation = true foundRelation = true
break break

View File

@ -25,7 +25,7 @@ func ToFormatModel(s sbom.SBOM) *cyclonedx.BOM {
cdxBOM.SerialNumber = uuid.New().URN() cdxBOM.SerialNumber = uuid.New().URN()
cdxBOM.Metadata = toBomDescriptor(internal.ApplicationName, s.Descriptor.Version, s.Source) cdxBOM.Metadata = toBomDescriptor(internal.ApplicationName, s.Descriptor.Version, s.Source)
packages := s.Artifacts.PackageCatalog.Sorted() packages := s.Artifacts.Packages.Sorted()
components := make([]cyclonedx.Component, len(packages)) components := make([]cyclonedx.Component, len(packages))
for i, p := range packages { for i, p := range packages {
components[i] = encodeComponent(p) components[i] = encodeComponent(p)

View File

@ -123,10 +123,10 @@ func ToFormatModel(s sbom.SBOM) *spdx.Document {
// Cardinality: optional, one // Cardinality: optional, one
CreatorComment: "", CreatorComment: "",
}, },
Packages: toPackages(s.Artifacts.PackageCatalog, s), Packages: toPackages(s.Artifacts.Packages, s),
Files: toFiles(s), Files: toFiles(s),
Relationships: relationships, Relationships: relationships,
OtherLicenses: toOtherLicenses(s.Artifacts.PackageCatalog), OtherLicenses: toOtherLicenses(s.Artifacts.Packages),
} }
} }

View File

@ -33,7 +33,7 @@ func ToSyftModel(doc *spdx.Document) (*sbom.SBOM, error) {
s := &sbom.SBOM{ s := &sbom.SBOM{
Source: src, Source: src,
Artifacts: sbom.Artifacts{ Artifacts: sbom.Artifacts{
PackageCatalog: pkg.NewCollection(), Packages: pkg.NewCollection(),
FileMetadata: map[source.Coordinates]source.FileMetadata{}, FileMetadata: map[source.Coordinates]source.FileMetadata{},
FileDigests: map[source.Coordinates][]file.Digest{}, FileDigests: map[source.Coordinates][]file.Digest{},
LinuxDistribution: findLinuxReleaseByPURL(doc), LinuxDistribution: findLinuxReleaseByPURL(doc),
@ -110,7 +110,7 @@ func collectSyftPackages(s *sbom.SBOM, spdxIDMap map[string]interface{}, doc *sp
for _, p := range doc.Packages { for _, p := range doc.Packages {
syftPkg := toSyftPackage(p) syftPkg := toSyftPackage(p)
spdxIDMap[string(p.PackageSPDXIdentifier)] = syftPkg spdxIDMap[string(p.PackageSPDXIdentifier)] = syftPkg
s.Artifacts.PackageCatalog.Add(*syftPkg) s.Artifacts.Packages.Add(*syftPkg)
} }
} }

View File

@ -91,7 +91,7 @@ func TestToSyftModel(t *testing.T) {
assert.NotNil(t, sbom) assert.NotNil(t, sbom)
pkgs := sbom.Artifacts.PackageCatalog.Sorted() pkgs := sbom.Artifacts.Packages.Sorted()
assert.Len(t, pkgs, 2) assert.Len(t, pkgs, 2)

View File

@ -57,7 +57,7 @@ func Test_decodeJSON(t *testing.T) {
split = strings.SplitN(pkg, ":", 2) split = strings.SplitN(pkg, ":", 2)
name = split[0] name = split[0]
version = split[1] version = split[1]
for p := range bom.Artifacts.PackageCatalog.Enumerate() { for p := range bom.Artifacts.Packages.Enumerate() {
if p.Name == name { if p.Name == name {
assert.Equal(t, version, p.Version) assert.Equal(t, version, p.Version)
continue pkgs continue pkgs

View File

@ -57,7 +57,7 @@ func Test_decodeXML(t *testing.T) {
split = strings.SplitN(pkg, ":", 2) split = strings.SplitN(pkg, ":", 2)
name = split[0] name = split[0]
version = split[1] version = split[1]
for p := range bom.Artifacts.PackageCatalog.Enumerate() { for p := range bom.Artifacts.Packages.Enumerate() {
if p.Name == name { if p.Name == name {
assert.Equal(t, version, p.Version) assert.Equal(t, version, p.Version)
continue pkgs continue pkgs

View File

@ -107,7 +107,7 @@ func toPath(s source.Metadata, p pkg.Package) string {
func toGithubManifests(s *sbom.SBOM) Manifests { func toGithubManifests(s *sbom.SBOM) Manifests {
manifests := map[string]*Manifest{} manifests := map[string]*Manifest{}
for _, p := range s.Artifacts.PackageCatalog.Sorted() { for _, p := range s.Artifacts.Packages.Sorted() {
path := toPath(s.Source, p) path := toPath(s.Source, p)
manifest, ok := manifests[path] manifest, ok := manifests[path]
if !ok { if !ok {

View File

@ -28,7 +28,7 @@ func Test_toGithubModel(t *testing.T) {
VersionID: "18.04", VersionID: "18.04",
IDLike: []string{"debian"}, IDLike: []string{"debian"},
}, },
PackageCatalog: pkg.NewCollection(), Packages: pkg.NewCollection(),
}, },
} }
for _, p := range []pkg.Package{ for _, p := range []pkg.Package{
@ -71,7 +71,7 @@ func Test_toGithubModel(t *testing.T) {
nil, nil,
"", "",
).ToString() ).ToString()
s.Artifacts.PackageCatalog.Add(p) s.Artifacts.Packages.Add(p)
} }
actual := toGithubModel(&s) actual := toGithubModel(&s)

View File

@ -119,7 +119,7 @@ func ImageInput(t testing.TB, testImage string, options ...ImageOption) sbom.SBO
return sbom.SBOM{ return sbom.SBOM{
Artifacts: sbom.Artifacts{ Artifacts: sbom.Artifacts{
PackageCatalog: catalog, Packages: catalog,
LinuxDistribution: &linux.Release{ LinuxDistribution: &linux.Release{
PrettyName: "debian", PrettyName: "debian",
Name: "debian", Name: "debian",
@ -200,7 +200,7 @@ func DirectoryInput(t testing.TB) sbom.SBOM {
return sbom.SBOM{ return sbom.SBOM{
Artifacts: sbom.Artifacts{ Artifacts: sbom.Artifacts{
PackageCatalog: catalog, Packages: catalog,
LinuxDistribution: &linux.Release{ LinuxDistribution: &linux.Release{
PrettyName: "debian", PrettyName: "debian",
Name: "debian", Name: "debian",
@ -231,7 +231,7 @@ func DirectoryInputWithAuthorField(t testing.TB) sbom.SBOM {
return sbom.SBOM{ return sbom.SBOM{
Artifacts: sbom.Artifacts{ Artifacts: sbom.Artifacts{
PackageCatalog: catalog, Packages: catalog,
LinuxDistribution: &linux.Release{ LinuxDistribution: &linux.Release{
PrettyName: "debian", PrettyName: "debian",
Name: "debian", Name: "debian",
@ -359,7 +359,7 @@ func newDirectoryCatalogWithAuthorField() *pkg.Collection {
//nolint:gosec //nolint:gosec
func AddSampleFileRelationships(s *sbom.SBOM) { func AddSampleFileRelationships(s *sbom.SBOM) {
catalog := s.Artifacts.PackageCatalog.Sorted() catalog := s.Artifacts.Packages.Sorted()
s.Artifacts.FileMetadata = map[source.Coordinates]source.FileMetadata{} s.Artifacts.FileMetadata = map[source.Coordinates]source.FileMetadata{}
files := []string{"/f1", "/f2", "/d1/f3", "/d2/f4", "/z1/f5", "/a1/f6"} files := []string{"/f1", "/f2", "/d1/f3", "/d2/f4", "/z1/f5", "/a1/f6"}

View File

@ -73,11 +73,11 @@ func TestSPDXJSONDecoder(t *testing.T) {
} }
if test.packages != nil { if test.packages != nil {
assert.Equal(t, sbom.Artifacts.PackageCatalog.PackageCount(), len(test.packages)) assert.Equal(t, sbom.Artifacts.Packages.PackageCount(), len(test.packages))
packages: packages:
for _, pkgName := range test.packages { for _, pkgName := range test.packages {
for _, p := range sbom.Artifacts.PackageCatalog.Sorted() { for _, p := range sbom.Artifacts.Packages.Sorted() {
if p.Name == pkgName { if p.Name == pkgName {
continue packages continue packages
} }

View File

@ -49,7 +49,7 @@ func TestSPDXJSONSPDXIDs(t *testing.T) {
Format(), Format(),
sbom.SBOM{ sbom.SBOM{
Artifacts: sbom.Artifacts{ Artifacts: sbom.Artifacts{
PackageCatalog: pkg.NewCollection(pkgs...), Packages: pkg.NewCollection(pkgs...),
}, },
Relationships: nil, Relationships: nil,
Source: source.Metadata{ Source: source.Metadata{

View File

@ -29,8 +29,8 @@ func TestEncodeDecodeCycle(t *testing.T) {
t.Errorf("metadata difference: %+v", d) t.Errorf("metadata difference: %+v", d)
} }
actualPackages := actualSBOM.Artifacts.PackageCatalog.Sorted() actualPackages := actualSBOM.Artifacts.Packages.Sorted()
for idx, p := range originalSBOM.Artifacts.PackageCatalog.Sorted() { for idx, p := range originalSBOM.Artifacts.Packages.Sorted() {
if !assert.Equal(t, p.Name, actualPackages[idx].Name) { if !assert.Equal(t, p.Name, actualPackages[idx].Name) {
t.Errorf("different package at idx=%d: %s vs %s", idx, p.Name, actualPackages[idx].Name) t.Errorf("different package at idx=%d: %s vs %s", idx, p.Name, actualPackages[idx].Name)
continue continue

View File

@ -100,7 +100,7 @@ func TestEncodeFullJSONDocument(t *testing.T) {
s := sbom.SBOM{ s := sbom.SBOM{
Artifacts: sbom.Artifacts{ Artifacts: sbom.Artifacts{
PackageCatalog: catalog, Packages: catalog,
FileMetadata: map[source.Coordinates]source.FileMetadata{ FileMetadata: map[source.Coordinates]source.FileMetadata{
source.NewLocation("/a/place").Coordinates: { source.NewLocation("/a/place").Coordinates: {
Mode: 0775, Mode: 0775,

View File

@ -26,7 +26,7 @@ func ToFormatModel(s sbom.SBOM) model.Document {
} }
return model.Document{ return model.Document{
Artifacts: toPackageModels(s.Artifacts.PackageCatalog), Artifacts: toPackageModels(s.Artifacts.Packages),
ArtifactRelationships: toRelationshipModel(s.Relationships), ArtifactRelationships: toRelationshipModel(s.Relationships),
Files: toFile(s), Files: toFile(s),
Secrets: toSecrets(s.Artifacts.Secrets), Secrets: toSecrets(s.Artifacts.Secrets),

View File

@ -28,7 +28,7 @@ func toSyftModel(doc model.Document) (*sbom.SBOM, error) {
return &sbom.SBOM{ return &sbom.SBOM{
Artifacts: sbom.Artifacts{ Artifacts: sbom.Artifacts{
PackageCatalog: catalog, Packages: catalog,
FileMetadata: fileArtifacts.FileMetadata, FileMetadata: fileArtifacts.FileMetadata,
FileDigests: fileArtifacts.FileDigests, FileDigests: fileArtifacts.FileDigests,
LinuxDistribution: toSyftLinuxRelease(doc.Distro), LinuxDistribution: toSyftLinuxRelease(doc.Distro),

View File

@ -119,11 +119,11 @@ func Test_idsHaveChanged(t *testing.T) {
r := s.Relationships[0] r := s.Relationships[0]
from := s.Artifacts.PackageCatalog.Package(r.From.ID()) from := s.Artifacts.Packages.Package(r.From.ID())
assert.NotNil(t, from) assert.NotNil(t, from)
assert.Equal(t, "pkg-1", from.Name) assert.Equal(t, "pkg-1", from.Name)
to := s.Artifacts.PackageCatalog.Package(r.To.ID()) to := s.Artifacts.Packages.Package(r.To.ID())
assert.NotNil(t, to) assert.NotNil(t, to)
assert.Equal(t, "pkg-2", to.Name) assert.Equal(t, "pkg-2", to.Name)
} }

View File

@ -15,7 +15,7 @@ func encoder(output io.Writer, s sbom.SBOM) error {
var rows [][]string var rows [][]string
columns := []string{"Name", "Version", "Type"} columns := []string{"Name", "Version", "Type"}
for _, p := range s.Artifacts.PackageCatalog.Sorted() { for _, p := range s.Artifacts.Packages.Sorted() {
row := []string{ row := []string{
p.Name, p.Name,
p.Version, p.Version,

View File

@ -34,7 +34,7 @@ func encoder(output io.Writer, s sbom.SBOM) error {
// populate artifacts... // populate artifacts...
rows := 0 rows := 0
for _, p := range s.Artifacts.PackageCatalog.Sorted() { for _, p := range s.Artifacts.Packages.Sorted() {
fmt.Fprintf(w, "[%s]\n", p.Name) fmt.Fprintf(w, "[%s]\n", p.Name)
fmt.Fprintln(w, " Version:\t", p.Version) fmt.Fprintln(w, " Version:\t", p.Version)
fmt.Fprintln(w, " Type:\t", string(p.Type)) fmt.Fprintln(w, " Type:\t", string(p.Type))

View File

@ -42,7 +42,7 @@ func parseSBOM(_ source.FileResolver, _ *generic.Environment, reader source.Loca
var pkgs []pkg.Package var pkgs []pkg.Package
var relationships []artifact.Relationship var relationships []artifact.Relationship
for _, p := range s.Artifacts.PackageCatalog.Sorted() { for _, p := range s.Artifacts.Packages.Sorted() {
// replace all locations on the package with the location of the SBOM file. // replace all locations on the package with the location of the SBOM file.
// Why not keep the original list of locations? Since the "locations" field is meant to capture // Why not keep the original list of locations? Since the "locations" field is meant to capture
// where there is evidence of this file, and the catalogers have not run against any file other than, // where there is evidence of this file, and the catalogers have not run against any file other than,

View File

@ -20,7 +20,7 @@ type SBOM struct {
} }
type Artifacts struct { type Artifacts struct {
PackageCatalog *pkg.Collection Packages *pkg.Collection
FileMetadata map[source.Coordinates]source.FileMetadata FileMetadata map[source.Coordinates]source.FileMetadata
FileDigests map[source.Coordinates][]file.Digest FileDigests map[source.Coordinates][]file.Digest
FileContents map[source.Coordinates]string FileContents map[source.Coordinates]string

View File

@ -11,8 +11,8 @@ func Test_AllLayersIncludesSquashed(t *testing.T) {
allLayers, _ := catalogFixtureImage(t, "image-suse-all-layers", source.AllLayersScope, nil) allLayers, _ := catalogFixtureImage(t, "image-suse-all-layers", source.AllLayersScope, nil)
squashed, _ := catalogFixtureImage(t, "image-suse-all-layers", source.SquashedScope, nil) squashed, _ := catalogFixtureImage(t, "image-suse-all-layers", source.SquashedScope, nil)
lenAllLayers := len(allLayers.Artifacts.PackageCatalog.Sorted()) lenAllLayers := len(allLayers.Artifacts.Packages.Sorted())
lenSquashed := len(squashed.Artifacts.PackageCatalog.Sorted()) lenSquashed := len(squashed.Artifacts.Packages.Sorted())
if lenAllLayers < lenSquashed { if lenAllLayers < lenSquashed {
t.Errorf("squashed has more packages than all-layers: %d > %d", lenSquashed, lenAllLayers) t.Errorf("squashed has more packages than all-layers: %d > %d", lenSquashed, lenAllLayers)

View File

@ -100,7 +100,7 @@ func TestPkgCoverageImage(t *testing.T) {
t.Run(c.name, func(t *testing.T) { t.Run(c.name, func(t *testing.T) {
pkgCount := 0 pkgCount := 0
for a := range sbom.Artifacts.PackageCatalog.Enumerate(c.pkgType) { for a := range sbom.Artifacts.Packages.Enumerate(c.pkgType) {
if a.Language.String() != "" { if a.Language.String() != "" {
observedLanguages.Add(a.Language.String()) observedLanguages.Add(a.Language.String())
} }
@ -127,7 +127,7 @@ func TestPkgCoverageImage(t *testing.T) {
if pkgCount != len(c.pkgInfo)+c.duplicates { if pkgCount != len(c.pkgInfo)+c.duplicates {
t.Logf("Discovered packages of type %+v", c.pkgType) t.Logf("Discovered packages of type %+v", c.pkgType)
for a := range sbom.Artifacts.PackageCatalog.Enumerate(c.pkgType) { for a := range sbom.Artifacts.Packages.Enumerate(c.pkgType) {
t.Log(" ", a) t.Log(" ", a)
} }
t.Fatalf("unexpected package count: %d!=%d", pkgCount, len(c.pkgInfo)) t.Fatalf("unexpected package count: %d!=%d", pkgCount, len(c.pkgInfo))
@ -176,7 +176,7 @@ func TestPkgCoverageDirectory(t *testing.T) {
t.Run(test.name, func(t *testing.T) { t.Run(test.name, func(t *testing.T) {
actualPkgCount := 0 actualPkgCount := 0
for actualPkg := range sbom.Artifacts.PackageCatalog.Enumerate(test.pkgType) { for actualPkg := range sbom.Artifacts.Packages.Enumerate(test.pkgType) {
observedLanguages.Add(actualPkg.Language.String()) observedLanguages.Add(actualPkg.Language.String())
observedPkgs.Add(string(actualPkg.Type)) observedPkgs.Add(string(actualPkg.Type))
@ -207,7 +207,7 @@ func TestPkgCoverageDirectory(t *testing.T) {
} }
if actualPkgCount != len(test.pkgInfo)+test.duplicates { if actualPkgCount != len(test.pkgInfo)+test.duplicates {
for actualPkg := range sbom.Artifacts.PackageCatalog.Enumerate(test.pkgType) { for actualPkg := range sbom.Artifacts.Packages.Enumerate(test.pkgType) {
t.Log(" ", actualPkg) t.Log(" ", actualPkg)
} }
t.Fatalf("unexpected package count: %d!=%d", actualPkgCount, len(test.pkgInfo)) t.Fatalf("unexpected package count: %d!=%d", actualPkgCount, len(test.pkgInfo))
@ -246,7 +246,7 @@ func TestPkgCoverageCatalogerConfiguration(t *testing.T) {
definedLanguages := internal.NewStringSet() definedLanguages := internal.NewStringSet()
definedLanguages.Add("rust") definedLanguages.Add("rust")
for actualPkg := range sbom.Artifacts.PackageCatalog.Enumerate() { for actualPkg := range sbom.Artifacts.Packages.Enumerate() {
observedLanguages.Add(actualPkg.Language.String()) observedLanguages.Add(actualPkg.Language.String())
} }
@ -270,7 +270,7 @@ func TestPkgCoverageImage_HasEvidence(t *testing.T) {
for _, c := range cases { for _, c := range cases {
t.Run(c.name, func(t *testing.T) { t.Run(c.name, func(t *testing.T) {
for a := range sbom.Artifacts.PackageCatalog.Enumerate(c.pkgType) { for a := range sbom.Artifacts.Packages.Enumerate(c.pkgType) {
assert.NotEmpty(t, a.Locations.ToSlice(), "package %q has no locations (type=%q)", a.Name, a.Type) assert.NotEmpty(t, a.Locations.ToSlice(), "package %q has no locations (type=%q)", a.Name, a.Type)
for _, l := range a.Locations.ToSlice() { for _, l := range a.Locations.ToSlice() {
if _, exists := l.Annotations[pkg.EvidenceAnnotationKey]; !exists { if _, exists := l.Annotations[pkg.EvidenceAnnotationKey]; !exists {
@ -300,7 +300,7 @@ func TestPkgCoverageDirectory_HasEvidence(t *testing.T) {
for _, c := range cases { for _, c := range cases {
t.Run(c.name, func(t *testing.T) { t.Run(c.name, func(t *testing.T) {
for a := range sbom.Artifacts.PackageCatalog.Enumerate(c.pkgType) { for a := range sbom.Artifacts.Packages.Enumerate(c.pkgType) {
assert.NotEmpty(t, a.Locations.ToSlice(), "package %q has no locations (type=%q)", a.Name, a.Type) assert.NotEmpty(t, a.Locations.ToSlice(), "package %q has no locations (type=%q)", a.Name, a.Type)
for _, l := range a.Locations.ToSlice() { for _, l := range a.Locations.ToSlice() {
if _, exists := l.Annotations[pkg.EvidenceAnnotationKey]; !exists { if _, exists := l.Annotations[pkg.EvidenceAnnotationKey]; !exists {

View File

@ -12,7 +12,7 @@ func TestMarinerDistroless(t *testing.T) {
expectedPkgs := 12 expectedPkgs := 12
actualPkgs := 0 actualPkgs := 0
for range sbom.Artifacts.PackageCatalog.Enumerate(pkg.RpmPkg) { for range sbom.Artifacts.Packages.Enumerate(pkg.RpmPkg) {
actualPkgs += 1 actualPkgs += 1
} }

View File

@ -14,7 +14,7 @@ func TestNpmPackageLockDirectory(t *testing.T) {
foundPackages := internal.NewStringSet() foundPackages := internal.NewStringSet()
for actualPkg := range sbom.Artifacts.PackageCatalog.Enumerate(pkg.NpmPkg) { for actualPkg := range sbom.Artifacts.Packages.Enumerate(pkg.NpmPkg) {
for _, actualLocation := range actualPkg.Locations.ToSlice() { for _, actualLocation := range actualPkg.Locations.ToSlice() {
if strings.Contains(actualLocation.RealPath, "node_modules") { if strings.Contains(actualLocation.RealPath, "node_modules") {
t.Errorf("found packages from package-lock.json in node_modules: %s", actualLocation) t.Errorf("found packages from package-lock.json in node_modules: %s", actualLocation)
@ -36,7 +36,7 @@ func TestYarnPackageLockDirectory(t *testing.T) {
foundPackages := internal.NewStringSet() foundPackages := internal.NewStringSet()
expectedPackages := internal.NewStringSet("async@0.9.2", "async@3.2.3", "merge-objects@1.0.5", "should-type@1.3.0", "@4lolo/resize-observer-polyfill@1.5.2") expectedPackages := internal.NewStringSet("async@0.9.2", "async@3.2.3", "merge-objects@1.0.5", "should-type@1.3.0", "@4lolo/resize-observer-polyfill@1.5.2")
for actualPkg := range sbom.Artifacts.PackageCatalog.Enumerate(pkg.NpmPkg) { for actualPkg := range sbom.Artifacts.Packages.Enumerate(pkg.NpmPkg) {
for _, actualLocation := range actualPkg.Locations.ToSlice() { for _, actualLocation := range actualPkg.Locations.ToSlice() {
if strings.Contains(actualLocation.RealPath, "node_modules") { if strings.Contains(actualLocation.RealPath, "node_modules") {
t.Errorf("found packages from yarn.lock in node_modules: %s", actualLocation) t.Errorf("found packages from yarn.lock in node_modules: %s", actualLocation)

View File

@ -65,15 +65,15 @@ func TestPackageDeduplication(t *testing.T) {
t.Run(string(tt.scope), func(t *testing.T) { t.Run(string(tt.scope), func(t *testing.T) {
sbom, _ := catalogFixtureImage(t, "image-vertical-package-dups", tt.scope, nil) sbom, _ := catalogFixtureImage(t, "image-vertical-package-dups", tt.scope, nil)
for _, p := range sbom.Artifacts.PackageCatalog.Sorted() { for _, p := range sbom.Artifacts.Packages.Sorted() {
if p.Type == pkg.BinaryPkg { if p.Type == pkg.BinaryPkg {
assert.NotEmpty(t, p.Name) assert.NotEmpty(t, p.Name)
} }
} }
assert.Equal(t, tt.packageCount, sbom.Artifacts.PackageCatalog.PackageCount()) assert.Equal(t, tt.packageCount, sbom.Artifacts.Packages.PackageCount())
for name, expectedInstanceCount := range tt.instanceCount { for name, expectedInstanceCount := range tt.instanceCount {
pkgs := sbom.Artifacts.PackageCatalog.PackagesByName(name) pkgs := sbom.Artifacts.Packages.PackagesByName(name)
// with multiple packages with the same name, something is wrong (or this is the wrong fixture) // with multiple packages with the same name, something is wrong (or this is the wrong fixture)
require.Len(t, pkgs, expectedInstanceCount) require.Len(t, pkgs, expectedInstanceCount)

View File

@ -14,7 +14,7 @@ func TestRegression212ApkBufferSize(t *testing.T) {
expectedPkgs := 58 expectedPkgs := 58
actualPkgs := 0 actualPkgs := 0
for range sbom.Artifacts.PackageCatalog.Enumerate(pkg.ApkPkg) { for range sbom.Artifacts.Packages.Enumerate(pkg.ApkPkg) {
actualPkgs += 1 actualPkgs += 1
} }

View File

@ -20,7 +20,7 @@ func TestRegressionGoArchDiscovery(t *testing.T) {
var actualELF, actualWIN, actualMACOS int var actualELF, actualWIN, actualMACOS int
for p := range sbom.Artifacts.PackageCatalog.Enumerate(pkg.GoModulePkg) { for p := range sbom.Artifacts.Packages.Enumerate(pkg.GoModulePkg) {
for _, l := range p.Locations.ToSlice() { for _, l := range p.Locations.ToSlice() {
switch { switch {
case strings.Contains(l.RealPath, "elf"): case strings.Contains(l.RealPath, "elf"):

View File

@ -12,7 +12,7 @@ func TestRustAudit(t *testing.T) {
expectedPkgs := 2 expectedPkgs := 2
actualPkgs := 0 actualPkgs := 0
for range sbom.Artifacts.PackageCatalog.Enumerate(pkg.RustPkg) { for range sbom.Artifacts.Packages.Enumerate(pkg.RustPkg) {
actualPkgs += 1 actualPkgs += 1
} }

View File

@ -17,7 +17,7 @@ func TestSbomCataloger(t *testing.T) {
expectedGoModCatalogerPkgs := 2 expectedGoModCatalogerPkgs := 2
actualSbomPkgs := 0 actualSbomPkgs := 0
actualGoModPkgs := 0 actualGoModPkgs := 0
for pkg := range sbom.Artifacts.PackageCatalog.Enumerate(pkg.GoModulePkg) { for pkg := range sbom.Artifacts.Packages.Enumerate(pkg.GoModulePkg) {
if pkg.FoundBy == "go-mod-file-cataloger" { if pkg.FoundBy == "go-mod-file-cataloger" {
actualGoModPkgs += 1 actualGoModPkgs += 1
} else if pkg.FoundBy == "sbom-cataloger" { } else if pkg.FoundBy == "sbom-cataloger" {

View File

@ -16,7 +16,7 @@ func TestSqliteRpm(t *testing.T) {
expectedPkgs := 139 expectedPkgs := 139
actualPkgs := 0 actualPkgs := 0
for range sbom.Artifacts.PackageCatalog.Enumerate(pkg.RpmPkg) { for range sbom.Artifacts.Packages.Enumerate(pkg.RpmPkg) {
actualPkgs += 1 actualPkgs += 1
} }

View File

@ -33,7 +33,7 @@ func catalogFixtureImage(t *testing.T, fixtureImageName string, scope source.Sco
return sbom.SBOM{ return sbom.SBOM{
Artifacts: sbom.Artifacts{ Artifacts: sbom.Artifacts{
PackageCatalog: pkgCatalog, Packages: pkgCatalog,
LinuxDistribution: actualDistro, LinuxDistribution: actualDistro,
}, },
Relationships: relationships, Relationships: relationships,
@ -68,7 +68,7 @@ func catalogDirectory(t *testing.T, dir string) (sbom.SBOM, *source.Source) {
return sbom.SBOM{ return sbom.SBOM{
Artifacts: sbom.Artifacts{ Artifacts: sbom.Artifacts{
PackageCatalog: pkgCatalog, Packages: pkgCatalog,
LinuxDistribution: actualDistro, LinuxDistribution: actualDistro,
}, },
Relationships: relationships, Relationships: relationships,