github.com/noqcks/syft@v0.0.0-20230920222752-a9e2c4e288e5/syft/pkg/cataloger/java/parse_gradle_lockfile_test.go (about) 1 package java 2 3 import ( 4 "testing" 5 6 "github.com/anchore/syft/syft/file" 7 "github.com/anchore/syft/syft/pkg" 8 "github.com/anchore/syft/syft/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: "commons-text", 21 Version: "1.8", 22 Language: pkg.Java, 23 Type: pkg.JavaPkg, 24 MetadataType: pkg.JavaMetadataType, 25 Metadata: pkg.JavaMetadata{ 26 PomProject: &pkg.PomProject{GroupID: "org.apache.commons", ArtifactID: "commons-text", Version: "1.8", Name: "commons-text"}, 27 }, 28 }, 29 { 30 Name: "hamcrest-core", 31 Version: "1.3", 32 Language: pkg.Java, 33 Type: pkg.JavaPkg, 34 MetadataType: pkg.JavaMetadataType, 35 Metadata: pkg.JavaMetadata{ 36 PomProject: &pkg.PomProject{GroupID: "org.hamcrest", ArtifactID: "hamcrest-core", Version: "1.3", Name: "hamcrest-core"}, 37 }, 38 }, 39 { 40 Name: "joda-time", 41 Version: "2.2", 42 Language: pkg.Java, 43 Type: pkg.JavaPkg, 44 MetadataType: pkg.JavaMetadataType, 45 Metadata: pkg.JavaMetadata{ 46 PomProject: &pkg.PomProject{GroupID: "joda-time", ArtifactID: "joda-time", Version: "2.2", Name: "joda-time"}, 47 }, 48 }, 49 { 50 Name: "junit", 51 Version: "4.12", 52 Language: pkg.Java, 53 Type: pkg.JavaPkg, 54 MetadataType: pkg.JavaMetadataType, 55 Metadata: pkg.JavaMetadata{ 56 PomProject: &pkg.PomProject{GroupID: "junit", ArtifactID: "junit", Version: "4.12", Name: "junit"}, 57 }, 58 }, 59 }, 60 }, 61 } 62 63 for _, test := range tests { 64 t.Run(test.input, func(t *testing.T) { 65 for i := range test.expected { 66 test.expected[i].Locations.Add(file.NewLocation(test.input)) 67 } 68 pkgtest.TestFileParser(t, test.input, parseGradleLockfile, test.expected, nil) 69 }) 70 } 71 }