github.com/anchore/syft@v1.38.2/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/internal/relationship" 9 "github.com/anchore/syft/syft/artifact" 10 "github.com/anchore/syft/syft/pkg" 11 ) 12 13 func Test_removeRelationshipsByID(t *testing.T) { 14 p1 := pkg.Package{} 15 p1.OverrideID("1") 16 17 p2 := pkg.Package{} 18 p2.OverrideID("2") 19 20 p3 := pkg.Package{} 21 p3.OverrideID("3") 22 23 rel := func(pkgs ...pkg.Package) (out []artifact.Relationship) { 24 for _, p := range pkgs { 25 out = append(out, artifact.Relationship{ 26 From: p, 27 To: p, 28 Type: artifact.OwnershipByFileOverlapRelationship, 29 }) 30 } 31 return 32 } 33 34 relationships := rel(p1, p2, p3) 35 36 for _, r := range relationships { 37 if r.From.ID() == "1" || r.From.ID() == "2" { 38 relationships = relationship.RemoveRelationshipsByID(relationships, r.From.ID()) 39 } 40 } 41 42 require.Equal(t, rel(p3), relationships) 43 }