github.com/kastenhq/syft@v0.0.0-20230821225854-0710af25cdbe/syft/pkg/cataloger/java/package_url_test.go (about)

     1  package java
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  
     8  	"github.com/kastenhq/syft/syft/pkg"
     9  )
    10  
    11  func Test_packageURL(t *testing.T) {
    12  	tests := []struct {
    13  		pkg    pkg.Package
    14  		expect string
    15  	}{
    16  		{
    17  			pkg: pkg.Package{
    18  				Name:         "example-java-app-maven",
    19  				Version:      "0.1.0",
    20  				Language:     pkg.Java,
    21  				Type:         pkg.JavaPkg,
    22  				MetadataType: pkg.JavaMetadataType,
    23  				Metadata: pkg.JavaMetadata{
    24  					VirtualPath: "test-fixtures/java-builds/packages/example-java-app-maven-0.1.0.jar",
    25  					Manifest: &pkg.JavaManifest{
    26  						Main: map[string]string{
    27  							"Manifest-Version": "1.0",
    28  						},
    29  					},
    30  					PomProperties: &pkg.PomProperties{
    31  						Path:       "META-INF/maven/org.anchore/example-java-app-maven/pom.properties",
    32  						GroupID:    "org.anchore",
    33  						ArtifactID: "example-java-app-maven",
    34  						Version:    "0.1.0",
    35  						Extra:      make(map[string]string),
    36  					},
    37  				},
    38  			},
    39  			expect: "pkg:maven/org.anchore/example-java-app-maven@0.1.0",
    40  		},
    41  	}
    42  	for _, tt := range tests {
    43  		t.Run(tt.expect, func(t *testing.T) {
    44  			assert.Equal(t, tt.expect, packageURL(tt.pkg.Name, tt.pkg.Version, tt.pkg.Metadata.(pkg.JavaMetadata)))
    45  		})
    46  	}
    47  }