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  }