github.com/lineaje-labs/syft@v0.98.1-0.20231227153149-9e393f60ff1b/syft/format/common/cyclonedxhelpers/group_test.go (about)

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