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