github.com/nextlinux/gosbom@v0.81.1-0.20230627115839-1ff50c281391/gosbom/pkg/cataloger/java/parse_gradle_lockfile_test.go (about) 1 package java 2 3 import ( 4 "testing" 5 6 "github.com/nextlinux/gosbom/gosbom/file" 7 "github.com/nextlinux/gosbom/gosbom/pkg" 8 "github.com/nextlinux/gosbom/gosbom/pkg/cataloger/internal/pkgtest" 9 ) 10 11 func Test_parserGradleLockfile(t *testing.T) { 12 tests := []struct { 13 input string 14 expected []pkg.Package 15 }{ 16 { 17 input: "test-fixtures/gradle/gradle.lockfile", 18 expected: []pkg.Package{ 19 { 20 Name: "hamcrest-core", 21 Version: "1.3", 22 Language: pkg.Java, 23 Type: pkg.JavaPkg, 24 MetadataType: pkg.JavaMetadataType, 25 }, 26 { 27 Name: "joda-time", 28 Version: "2.2", 29 Language: pkg.Java, 30 Type: pkg.JavaPkg, 31 MetadataType: pkg.JavaMetadataType, 32 }, 33 { 34 Name: "junit", 35 Version: "4.12", 36 Language: pkg.Java, 37 Type: pkg.JavaPkg, 38 MetadataType: pkg.JavaMetadataType, 39 }, 40 }, 41 }, 42 } 43 44 for _, test := range tests { 45 t.Run(test.input, func(t *testing.T) { 46 for i := range test.expected { 47 test.expected[i].Locations.Add(file.NewLocation(test.input)) 48 } 49 pkgtest.TestFileParser(t, test.input, parseGradleLockfile, test.expected, nil) 50 }) 51 } 52 }