github.com/SAP/jenkins-library@v1.362.0/cmd/abapAddonAssemblyKitCheck_test.go (about)

     1  //go:build unit
     2  // +build unit
     3  
     4  package cmd
     5  
     6  import (
     7  	"testing"
     8  
     9  	"github.com/SAP/jenkins-library/pkg/abap/aakaas"
    10  	"github.com/SAP/jenkins-library/pkg/abaputils"
    11  	"github.com/stretchr/testify/assert"
    12  )
    13  
    14  func TestRunAbapAddonAssemblyKitCheck(t *testing.T) {
    15  	var config abapAddonAssemblyKitCheckOptions
    16  	var cpe abapAddonAssemblyKitCheckCommonPipelineEnvironment
    17  	bundle := aakaas.NewAakBundleMock()
    18  	utils := bundle.GetUtils()
    19  	config.Username = "dummyUser"
    20  	config.Password = "dummyPassword"
    21  
    22  	t.Run("happy path", func(t *testing.T) {
    23  		config.AddonDescriptorFileName = "addon.yml.mock"
    24  		bundle.SetBody(aakaas.ResponseCheck)
    25  		bundle.MockAddonDescriptor = abaputils.AddonDescriptor{
    26  			AddonProduct:     "/DRNMSPC/PRD01",
    27  			AddonVersionYAML: "2.0.0",
    28  			Repositories: []abaputils.Repository{
    29  				{
    30  					Name:        "/DRNMSPC/COMP01",
    31  					VersionYAML: "2.0.0",
    32  				},
    33  				{
    34  					Name:        "/DRNMSPC/COMP02",
    35  					VersionYAML: "1.0.0",
    36  				},
    37  			},
    38  		}
    39  
    40  		err := runAbapAddonAssemblyKitCheck(&config, nil, utils, &cpe)
    41  
    42  		assert.NoError(t, err)
    43  	})
    44  
    45  	t.Run("error path", func(t *testing.T) {
    46  		config.AddonDescriptorFileName = "addon.yml.mock"
    47  		bundle.SetBody(aakaas.ResponseCheck)
    48  		bundle.MockAddonDescriptor = abaputils.AddonDescriptor{
    49  			AddonProduct:     "/DRNMSPC/PRD01",
    50  			AddonVersionYAML: "2.0.0",
    51  			Repositories:     []abaputils.Repository{
    52  				//no repos should fail during pvh creation...
    53  			},
    54  		}
    55  
    56  		err := runAbapAddonAssemblyKitCheck(&config, nil, utils, &cpe)
    57  
    58  		assert.EqualError(t, err, "addonDescriptor must contain at least one software component repository")
    59  	})
    60  }