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  }