github.com/ouraigua/jenkins-library@v0.0.0-20231028010029-fbeaf2f3aa9b/cmd/abapAddonAssemblyKitCheckCVs_test.go (about) 1 //go:build unit 2 // +build unit 3 4 package cmd 5 6 import ( 7 "encoding/json" 8 "testing" 9 10 "github.com/SAP/jenkins-library/pkg/abap/aakaas" 11 "github.com/SAP/jenkins-library/pkg/abaputils" 12 "github.com/stretchr/testify/assert" 13 ) 14 15 func TestCheckCVsStep(t *testing.T) { 16 var config abapAddonAssemblyKitCheckCVsOptions 17 var cpe abapAddonAssemblyKitCheckCVsCommonPipelineEnvironment 18 bundle := aakaas.NewAakBundleMock() 19 bundle.SetBody(aakaas.ResponseCheckCVs) 20 utils := bundle.GetUtils() 21 config.Username = "dummyUser" 22 config.Password = "dummyPassword" 23 t.Run("step success", func(t *testing.T) { 24 config.AddonDescriptorFileName = "success" 25 err := runAbapAddonAssemblyKitCheckCVs(&config, nil, &utils, &cpe) 26 assert.NoError(t, err, "Did not expect error") 27 var addonDescriptorFinal abaputils.AddonDescriptor 28 err = json.Unmarshal([]byte(cpe.abap.addonDescriptor), &addonDescriptorFinal) 29 assert.NoError(t, err) 30 assert.Equal(t, "0001", addonDescriptorFinal.Repositories[0].Version) 31 assert.Equal(t, "0002", addonDescriptorFinal.Repositories[0].SpLevel) 32 assert.Equal(t, "0003", addonDescriptorFinal.Repositories[0].PatchLevel) 33 assert.Equal(t, "HUGO1234", addonDescriptorFinal.Repositories[0].CommitID) 34 }) 35 t.Run("step error - in validate(no CommitID)", func(t *testing.T) { 36 config.AddonDescriptorFileName = "noCommitID" 37 err := runAbapAddonAssemblyKitCheckCVs(&config, nil, &utils, &cpe) 38 assert.Error(t, err, "Must end with error") 39 assert.Contains(t, err.Error(), "CommitID missing in repo") 40 }) 41 t.Run("step error - in ReadAddonDescriptor", func(t *testing.T) { 42 config.AddonDescriptorFileName = "failing" 43 err := runAbapAddonAssemblyKitCheckCVs(&config, nil, &utils, &cpe) 44 assert.Error(t, err, "Must end with error") 45 assert.Contains(t, "error in ReadAddonDescriptor", err.Error()) 46 }) 47 t.Run("step error - in validate", func(t *testing.T) { 48 config.AddonDescriptorFileName = "success" 49 bundle.SetBody("ErrorBody") 50 bundle.SetError("error during validation") 51 err := runAbapAddonAssemblyKitCheckCVs(&config, nil, &utils, &cpe) 52 assert.Error(t, err, "Must end with error") 53 }) 54 } 55 56 func TestCombineYAMLRepositoriesWithCPEProduct(t *testing.T) { 57 t.Run("test combineYAMLRepositoriesWithCPEProduct", func(t *testing.T) { 58 addonDescriptor := abaputils.AddonDescriptor{ 59 Repositories: []abaputils.Repository{ 60 { 61 Name: "/DRNMSPC/COMP01", 62 VersionYAML: "1.2.3", 63 }, 64 { 65 Name: "/DRNMSPC/COMP02", 66 VersionYAML: "3.2.1", 67 }, 68 }, 69 } 70 addonDescriptorFromCPE := abaputils.AddonDescriptor{ 71 AddonProduct: "/DRNMSP/PROD", 72 AddonVersionYAML: "1.2.3", 73 } 74 finalAddonDescriptor := combineYAMLRepositoriesWithCPEProduct(addonDescriptor, addonDescriptorFromCPE) 75 assert.Equal(t, "/DRNMSP/PROD", finalAddonDescriptor.AddonProduct) 76 assert.Equal(t, "1.2.3", finalAddonDescriptor.AddonVersionYAML) 77 assert.Equal(t, "/DRNMSPC/COMP01", finalAddonDescriptor.Repositories[0].Name) 78 assert.Equal(t, "/DRNMSPC/COMP02", finalAddonDescriptor.Repositories[1].Name) 79 assert.Equal(t, "1.2.3", finalAddonDescriptor.Repositories[0].VersionYAML) 80 assert.Equal(t, "3.2.1", finalAddonDescriptor.Repositories[1].VersionYAML) 81 }) 82 }