github.com/noqcks/syft@v0.0.0-20230920222752-a9e2c4e288e5/syft/pkg/cataloger/python/package_test.go (about) 1 package python 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 8 "github.com/anchore/syft/syft/pkg" 9 ) 10 11 func Test_packageURL(t *testing.T) { 12 tests := []struct { 13 testName string 14 name string 15 version string 16 metadata *pkg.PythonPackageMetadata 17 want string 18 }{ 19 { 20 testName: "without metadata", 21 name: "name", 22 version: "v0.1.0", 23 want: "pkg:pypi/name@v0.1.0", 24 }, 25 { 26 testName: "with vcs info", 27 name: "name", 28 version: "v0.1.0", 29 metadata: &pkg.PythonPackageMetadata{ 30 Name: "bogus", // note: ignored 31 Version: "v0.2.0", // note: ignored 32 DirectURLOrigin: &pkg.PythonDirectURLOriginInfo{ 33 VCS: "git", 34 URL: "https://github.com/test/test.git", 35 CommitID: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", 36 }, 37 }, 38 want: "pkg:pypi/name@v0.1.0?vcs_url=git+https://github.com/test/test.git%40aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", 39 }, 40 } 41 for _, tt := range tests { 42 t.Run(tt.testName, func(t *testing.T) { 43 assert.Equal(t, tt.want, packageURL(tt.name, tt.version, tt.metadata)) 44 }) 45 } 46 }