github.com/anchore/syft@v1.4.2-0.20240516191711-1bec1fc5d397/syft/pkg/python_test.go (about)

     1  package pkg
     2  
     3  import (
     4  	"strings"
     5  	"testing"
     6  
     7  	"github.com/go-test/deep"
     8  )
     9  
    10  func TestPythonMetadata_FileOwner(t *testing.T) {
    11  	tests := []struct {
    12  		metadata PythonPackage
    13  		expected []string
    14  	}{
    15  		{
    16  			metadata: PythonPackage{
    17  				Files: []PythonFileRecord{
    18  					{Path: "/somewhere"},
    19  					{Path: "/else"},
    20  				},
    21  			},
    22  			expected: []string{
    23  				"/else",
    24  				"/somewhere",
    25  			},
    26  		},
    27  		{
    28  			metadata: PythonPackage{
    29  				Files: []PythonFileRecord{
    30  					{Path: "/somewhere"},
    31  					{Path: ""},
    32  				},
    33  			},
    34  			expected: []string{
    35  				"/somewhere",
    36  			},
    37  		},
    38  	}
    39  
    40  	for _, test := range tests {
    41  		t.Run(strings.Join(test.expected, ","), func(t *testing.T) {
    42  			actual := test.metadata.OwnedFiles()
    43  			for _, d := range deep.Equal(test.expected, actual) {
    44  				t.Errorf("diff: %+v", d)
    45  			}
    46  		})
    47  	}
    48  }