github.com/lineaje-labs/syft@v0.98.1-0.20231227153149-9e393f60ff1b/syft/lib_test.go (about) 1 package syft 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/require" 7 8 "github.com/anchore/syft/syft/artifact" 9 "github.com/anchore/syft/syft/pkg" 10 ) 11 12 func Test_removeRelationshipsByID(t *testing.T) { 13 p1 := pkg.Package{} 14 p1.OverrideID("1") 15 16 p2 := pkg.Package{} 17 p2.OverrideID("2") 18 19 p3 := pkg.Package{} 20 p3.OverrideID("3") 21 22 rel := func(pkgs ...pkg.Package) (out []artifact.Relationship) { 23 for _, p := range pkgs { 24 out = append(out, artifact.Relationship{ 25 From: p, 26 To: p, 27 Type: artifact.OwnershipByFileOverlapRelationship, 28 }) 29 } 30 return 31 } 32 33 relationships := rel(p1, p2, p3) 34 35 for _, r := range relationships { 36 if r.From.ID() == "1" || r.From.ID() == "2" { 37 relationships = removeRelationshipsByID(relationships, r.From.ID()) 38 } 39 } 40 41 require.Equal(t, rel(p3), relationships) 42 }