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 }