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 }