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 }