github.com/noqcks/syft@v0.0.0-20230920222752-a9e2c4e288e5/syft/formats/common/spdxhelpers/download_location_test.go (about) 1 package spdxhelpers 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_DownloadLocation(t *testing.T) { 12 tests := []struct { 13 name string 14 input pkg.Package 15 expected string 16 }{ 17 { 18 name: "no metadata", 19 input: pkg.Package{}, 20 expected: NOASSERTION, 21 }, 22 { 23 name: "from apk", 24 input: pkg.Package{ 25 Metadata: pkg.ApkMetadata{ 26 URL: "http://a-place.gov", 27 }, 28 }, 29 expected: "http://a-place.gov", 30 }, 31 { 32 name: "from npm", 33 input: pkg.Package{ 34 Metadata: pkg.NpmPackageJSONMetadata{ 35 URL: "http://a-place.gov", 36 }, 37 }, 38 expected: "http://a-place.gov", 39 }, 40 { 41 name: "empty", 42 input: pkg.Package{ 43 Metadata: pkg.NpmPackageJSONMetadata{ 44 URL: "", 45 }, 46 }, 47 expected: NONE, 48 }, 49 } 50 for _, test := range tests { 51 t.Run(test.name, func(t *testing.T) { 52 assert.Equal(t, test.expected, DownloadLocation(test.input)) 53 }) 54 } 55 }