mirror of
https://github.com/SAP/jenkins-library.git
synced 2024-12-12 10:55:20 +02:00
e6c5c8a72f
* Update abapAddonAssemblyKitReleasePackages.go * add error handling for initAAKaaS * runtime to config, url.QueryEscape, check return body * Update abapAddonAssemblyKitCheckCVs_test.go * add log entrys for testing * correct yaml * change unmarshal logic * Update abapAddonAssemblyKitCheckPV_test.go * adding utils functionality * Update bfw_test.go * reset CheckPV * reset CheckCVs * reset ReserveNextPackages * set back CheckPV and CheckCVs * moving mock * renaming * renaming * moving mocking to checkCVs test * fixing unittests * trying mock with comment * referencing unittest to mockfile * Update abapAddonAssemblyKitCheckCVs.go * Update cmd/abapAddonAssemblyKitCheckPV.go Co-authored-by: tiloKo <70266685+tiloKo@users.noreply.github.com> * Update cmd/abapAddonAssemblyKitReleasePackages.go Co-authored-by: tiloKo <70266685+tiloKo@users.noreply.github.com> * Update cmd/abapAddonAssemblyKitPublishTargetVector.go Co-authored-by: tiloKo <70266685+tiloKo@users.noreply.github.com> * Update cmd/abapAddonAssemblyKitReserveNextPackages.go Co-authored-by: tiloKo <70266685+tiloKo@users.noreply.github.com> * fixing unittests * fixing mock comment Co-authored-by: tiloKo <70266685+tiloKo@users.noreply.github.com>
105 lines
3.0 KiB
Go
105 lines
3.0 KiB
Go
package cmd
|
|
|
|
import (
|
|
"encoding/json"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/SAP/jenkins-library/pkg/abap/aakaas"
|
|
"github.com/SAP/jenkins-library/pkg/abaputils"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestReleasePackagesStep(t *testing.T) {
|
|
var config abapAddonAssemblyKitReleasePackagesOptions
|
|
var cpe abapAddonAssemblyKitReleasePackagesCommonPipelineEnvironment
|
|
bundle := aakaas.NewAakBundleMock()
|
|
bundle.SetBody(responseRelease)
|
|
utils := bundle.GetUtils()
|
|
|
|
config.Username = "dummyUser"
|
|
config.Password = "dummyPassword"
|
|
t.Run("step success", func(t *testing.T) {
|
|
//arrange
|
|
addonDescriptor := abaputils.AddonDescriptor{
|
|
Repositories: []abaputils.Repository{
|
|
{
|
|
PackageName: "SAPK-002AAINDRNMSPC",
|
|
Status: "L",
|
|
},
|
|
{
|
|
PackageName: "SAPK-001AAINDRNMSPC",
|
|
Status: "R",
|
|
},
|
|
},
|
|
}
|
|
adoDesc, _ := json.Marshal(addonDescriptor)
|
|
config.AddonDescriptor = string(adoDesc)
|
|
//act
|
|
err := runAbapAddonAssemblyKitReleasePackages(&config, nil, &utils, &cpe)
|
|
//assert
|
|
assert.NoError(t, err, "Did not expect error")
|
|
var addonDescriptorFinal abaputils.AddonDescriptor
|
|
json.Unmarshal([]byte(cpe.abap.addonDescriptor), &addonDescriptorFinal)
|
|
assert.Equal(t, "R", addonDescriptorFinal.Repositories[0].Status)
|
|
})
|
|
|
|
t.Run("step error - invalid input", func(t *testing.T) {
|
|
//arrange
|
|
addonDescriptor := abaputils.AddonDescriptor{
|
|
Repositories: []abaputils.Repository{
|
|
{
|
|
Status: "L",
|
|
},
|
|
},
|
|
}
|
|
adoDesc, _ := json.Marshal(addonDescriptor)
|
|
config.AddonDescriptor = string(adoDesc)
|
|
//act
|
|
err := runAbapAddonAssemblyKitReleasePackages(&config, nil, &utils, &cpe)
|
|
//assert
|
|
assert.Error(t, err, "Did expect error")
|
|
assert.Equal(t, err.Error(), "Parameter missing. Please provide the name of the package which should be released")
|
|
})
|
|
|
|
t.Run("step error - timeout", func(t *testing.T) {
|
|
//arrange
|
|
bundle.SetError("Release not finished")
|
|
bundle.SetMaxRuntime(1 * time.Microsecond)
|
|
addonDescriptor := abaputils.AddonDescriptor{
|
|
Repositories: []abaputils.Repository{
|
|
{
|
|
PackageName: "SAPK-001AAINDRNMSPC",
|
|
Status: "L",
|
|
},
|
|
},
|
|
}
|
|
adoDesc, _ := json.Marshal(addonDescriptor)
|
|
config.AddonDescriptor = string(adoDesc)
|
|
//act
|
|
err := runAbapAddonAssemblyKitReleasePackages(&config, nil, &utils, &cpe)
|
|
//assert
|
|
assert.Error(t, err, "Did expect error")
|
|
assert.Equal(t, err.Error(), "Timed out")
|
|
})
|
|
}
|
|
|
|
var responseRelease = `{
|
|
"d": {
|
|
"__metadata": {
|
|
"id": "https://W7Q.DMZWDF.SAP.CORP:443/odata/aas_ocs_package/OcsPackageSet('SAPK-001AAINDRNMSPC')",
|
|
"uri": "https://W7Q.DMZWDF.SAP.CORP:443/odata/aas_ocs_package/OcsPackageSet('SAPK-001AAINDRNMSPC')",
|
|
"type": "SSDA.AAS_ODATA_PACKAGE_SRV.OcsPackage"
|
|
},
|
|
"Name": "SAPK-001AAINDRNMSPC",
|
|
"Type": "AOI",
|
|
"Component": "/DRNMSPC/COMP01",
|
|
"Release": "0001",
|
|
"Level": "0000",
|
|
"Status": "R",
|
|
"Operation": "",
|
|
"Namespace": "/DRNMSPC/",
|
|
"Vendorid": "0000203069"
|
|
}
|
|
}`
|