github.com/ouraigua/jenkins-library@v0.0.0-20231028010029-fbeaf2f3aa9b/pkg/abap/aakaas/productVersion_test.go (about)

     1  //go:build unit
     2  // +build unit
     3  
     4  package aakaas
     5  
     6  import (
     7  	"testing"
     8  
     9  	abapbuild "github.com/SAP/jenkins-library/pkg/abap/build"
    10  	"github.com/SAP/jenkins-library/pkg/abaputils"
    11  	"github.com/pkg/errors"
    12  	"github.com/stretchr/testify/assert"
    13  )
    14  
    15  func TestInitPV(t *testing.T) {
    16  	conn := new(abapbuild.Connector)
    17  	conn.Client = &abaputils.ClientMock{}
    18  	prodVers := abaputils.AddonDescriptor{
    19  		AddonProduct:     "/DRNMSPC/PRD01",
    20  		AddonVersionYAML: "3.2.1",
    21  	}
    22  	var pv ProductVersion
    23  
    24  	t.Run("test init", func(t *testing.T) {
    25  		pv.ConstructProductversion(prodVers, *conn)
    26  		assert.Equal(t, "/DRNMSPC/PRD01", pv.Name)
    27  		assert.Equal(t, "3.2.1", pv.Version)
    28  	})
    29  
    30  	t.Run("test validate - success", func(t *testing.T) {
    31  		conn.Client = &abaputils.ClientMock{
    32  			Body: ResponseCheckPV,
    33  		}
    34  		pv.ConstructProductversion(prodVers, *conn)
    35  		err := pv.ValidateAndResolveVersionFields()
    36  		assert.NoError(t, err)
    37  		assert.Equal(t, "0003", pv.TechRelease)
    38  		assert.Equal(t, "0002", pv.TechSpLevel)
    39  		assert.Equal(t, "0001", pv.TechPatchLevel)
    40  	})
    41  
    42  	t.Run("test validate - with error", func(t *testing.T) {
    43  		conn.Client = &abaputils.ClientMock{
    44  			Body:  "ErrorBody",
    45  			Error: errors.New("Validation failed"),
    46  		}
    47  		pv.ConstructProductversion(prodVers, *conn)
    48  		err := pv.ValidateAndResolveVersionFields()
    49  		assert.Error(t, err)
    50  	})
    51  
    52  	t.Run("test copyFieldsToRepo", func(t *testing.T) {
    53  		pv.TechRelease = "0003"
    54  		pv.TechSpLevel = "0002"
    55  		pv.TechPatchLevel = "0001"
    56  		pv.CopyVersionFieldsToDescriptor(&prodVers)
    57  		assert.Equal(t, "0003", prodVers.AddonVersion)
    58  		assert.Equal(t, "0002", prodVers.AddonSpsLevel)
    59  		assert.Equal(t, "0001", prodVers.AddonPatchLevel)
    60  	})
    61  }