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  }