github.com/ouraigua/jenkins-library@v0.0.0-20231028010029-fbeaf2f3aa9b/pkg/abap/aakaas/componentVersion_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 TestInitCV(t *testing.T) {
    16  	conn := new(abapbuild.Connector)
    17  	conn.Client = &abaputils.ClientMock{}
    18  	repo := abaputils.Repository{
    19  		Name:        "/DRNMSPC/COMP01",
    20  		VersionYAML: "1.2.3",
    21  	}
    22  	var c ComponentVersion
    23  
    24  	t.Run("test init", func(t *testing.T) {
    25  		c.ConstructComponentVersion(repo, *conn)
    26  		assert.Equal(t, "/DRNMSPC/COMP01", c.Name)
    27  		assert.Equal(t, "1.2.3", c.Version)
    28  	})
    29  
    30  	t.Run("test validate - success", func(t *testing.T) {
    31  		conn.Client = &abaputils.ClientMock{
    32  			Body: ResponseCheckCVs,
    33  		}
    34  		c.ConstructComponentVersion(repo, *conn)
    35  
    36  		err := c.Validate()
    37  
    38  		assert.NoError(t, err)
    39  		assert.Equal(t, "0001", c.TechRelease)
    40  		assert.Equal(t, "0002", c.TechSpLevel)
    41  		assert.Equal(t, "0003", c.TechPatchLevel)
    42  	})
    43  
    44  	t.Run("test validate - with error", func(t *testing.T) {
    45  		conn.Client = &abaputils.ClientMock{
    46  			Body:  "ErrorBody",
    47  			Error: errors.New("Validation failed"),
    48  		}
    49  		c.ConstructComponentVersion(repo, *conn)
    50  
    51  		err := c.Validate()
    52  
    53  		assert.Error(t, err)
    54  	})
    55  
    56  	t.Run("test copyFieldsToRepo", func(t *testing.T) {
    57  
    58  		var c ComponentVersion
    59  		c.TechRelease = "0001"
    60  		c.TechSpLevel = "0002"
    61  		c.TechPatchLevel = "0003"
    62  		c.CopyVersionFieldsToRepo(&repo)
    63  		assert.Equal(t, "0001", repo.Version)
    64  		assert.Equal(t, "0002", repo.SpLevel)
    65  		assert.Equal(t, "0003", repo.PatchLevel)
    66  	})
    67  }