github.com/nextlinux/gosbom@v0.81.1-0.20230627115839-1ff50c281391/gosbom/formats/common/cyclonedxhelpers/group_test.go (about) 1 package cyclonedxhelpers 2 3 import ( 4 "testing" 5 6 "github.com/nextlinux/gosbom/gosbom/pkg" 7 "github.com/stretchr/testify/assert" 8 ) 9 10 func Test_encodeGroup(t *testing.T) { 11 tests := []struct { 12 name string 13 input pkg.Package 14 expected string 15 }{ 16 { 17 name: "no metadata", 18 input: pkg.Package{}, 19 expected: "", 20 }, 21 { 22 name: "metadata is not Java", 23 input: pkg.Package{ 24 Metadata: pkg.NpmPackageJSONMetadata{}, 25 }, 26 expected: "", 27 }, 28 { 29 name: "metadata is Java but pom properties is empty", 30 input: pkg.Package{ 31 Metadata: pkg.JavaMetadata{}, 32 }, 33 expected: "", 34 }, 35 { 36 name: "metadata is Java and contains pomProperties", 37 input: pkg.Package{ 38 Metadata: pkg.JavaMetadata{ 39 PomProperties: &pkg.PomProperties{ 40 GroupID: "test", 41 }, 42 }, 43 }, 44 expected: "test", 45 }, 46 } 47 for _, test := range tests { 48 t.Run(test.name, func(t *testing.T) { 49 assert.Equal(t, test.expected, encodeGroup(test.input)) 50 }) 51 } 52 }