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