github.com/SAP/jenkins-library@v1.362.0/cmd/abapAddonAssemblyKitCreateTargetVector_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/abaputils" 11 "github.com/pkg/errors" 12 "github.com/stretchr/testify/assert" 13 ) 14 15 func TestCreateTargetVectorStep(t *testing.T) { 16 //setup 17 config := abapAddonAssemblyKitCreateTargetVectorOptions{ 18 Username: "dummy", 19 Password: "dummy", 20 } 21 addonDescriptor := abaputils.AddonDescriptor{ 22 AddonProduct: "dummy", 23 AddonVersion: "dummy", 24 AddonSpsLevel: "dummy", 25 AddonPatchLevel: "dummy", 26 TargetVectorID: "dummy", 27 Repositories: []abaputils.Repository{ 28 { 29 Name: "dummy", 30 Version: "dummy", 31 SpLevel: "dummy", 32 PatchLevel: "dummy", 33 PackageName: "dummy", 34 }, 35 }, 36 } 37 adoDesc, _ := json.Marshal(addonDescriptor) 38 config.AddonDescriptor = string(adoDesc) 39 40 client := &abaputils.ClientMock{ 41 Body: responseCreateTargetVector, 42 } 43 44 cpe := abapAddonAssemblyKitCreateTargetVectorCommonPipelineEnvironment{} 45 46 t.Run("step success test", func(t *testing.T) { 47 //act 48 err := runAbapAddonAssemblyKitCreateTargetVector(&config, nil, client, &cpe) 49 //assert 50 assert.NoError(t, err, "Did not expect error") 51 52 resultAddonDescriptor := abaputils.AddonDescriptor{} 53 err = json.Unmarshal([]byte(cpe.abap.addonDescriptor), &resultAddonDescriptor) 54 assert.NoError(t, err) 55 assert.Equal(t, "W7Q00207512600000262", resultAddonDescriptor.TargetVectorID) 56 }) 57 58 t.Run("step success test", func(t *testing.T) { 59 //arrange 60 client := &abaputils.ClientMock{ 61 Body: responseCreateTargetVector, 62 Error: errors.New("dummy"), 63 } 64 //act 65 err := runAbapAddonAssemblyKitCreateTargetVector(&config, nil, client, &cpe) 66 //assert 67 assert.Error(t, err, "Must end with error") 68 }) 69 70 t.Run("step error init product", func(t *testing.T) { 71 //arrange 72 addonDescriptor := abaputils.AddonDescriptor{ 73 Repositories: []abaputils.Repository{ 74 {}, 75 }, 76 } 77 adoDesc, _ := json.Marshal(addonDescriptor) 78 config.AddonDescriptor = string(adoDesc) 79 //act 80 err := runAbapAddonAssemblyKitCreateTargetVector(&config, nil, client, &cpe) 81 //assert 82 assert.Error(t, err, "Must end with error") 83 }) 84 85 t.Run("step error init component", func(t *testing.T) { 86 //arrange 87 addonDescriptor := abaputils.AddonDescriptor{ 88 AddonProduct: "dummy", 89 AddonVersion: "dummy", 90 AddonSpsLevel: "dummy", 91 AddonPatchLevel: "dummy", 92 TargetVectorID: "dummy", 93 Repositories: []abaputils.Repository{ 94 { 95 Name: "dummy", 96 Version: "dummy", 97 SpLevel: "dummy", 98 PatchLevel: "dummy", 99 PackageName: "dummy", 100 }, 101 {}, 102 }, 103 } 104 adoDesc, _ := json.Marshal(addonDescriptor) 105 config.AddonDescriptor = string(adoDesc) 106 //act 107 err := runAbapAddonAssemblyKitCreateTargetVector(&config, nil, client, &cpe) 108 //assert 109 assert.Error(t, err, "Must end with error") 110 }) 111 112 } 113 114 var responseCreateTargetVector = `{ 115 "d": { 116 "__metadata": { 117 "id": "https://W7Q.DMZWDF.SAP.CORP:443/odata/aas_ocs_package/TargetVectorSet('W7Q00207512600000262')", 118 "uri": "https://W7Q.DMZWDF.SAP.CORP:443/odata/aas_ocs_package/TargetVectorSet('W7Q00207512600000262')", 119 "type": "SSDA.AAS_ODATA_PACKAGE_SRV.TargetVector" 120 }, 121 "Id": "W7Q00207512600000262", 122 "Vendor": "0000203069", 123 "ProductName": "/DRNMSPC/PRD01", 124 "ProductVersion": "0001", 125 "SpsLevel": "0000", 126 "PatchLevel": "0000", 127 "Status": "G", 128 "Content": { 129 "results": [ 130 { 131 "__metadata": { 132 "id": "https://W7Q.DMZWDF.SAP.CORP:443/odata/aas_ocs_package/TargetVectorContentSet(Id='W7Q00207512600000262',ScName='%2FDRNMSPC%2FCOMP01')", 133 "uri": "https://W7Q.DMZWDF.SAP.CORP:443/odata/aas_ocs_package/TargetVectorContentSet(Id='W7Q00207512600000262',ScName='%2FDRNMSPC%2FCOMP01')", 134 "type": "SSDA.AAS_ODATA_PACKAGE_SRV.TargetVectorContent" 135 }, 136 "Id": "W7Q00207512600000262", 137 "ScName": "/DRNMSPC/COMP01", 138 "ScVersion": "0001", 139 "DeliveryPackage": "SAPK-001AAINDRNMSPC", 140 "SpLevel": "0000", 141 "PatchLevel": "0000", 142 "Header": { 143 "__deferred": { 144 "uri": "https://W7Q.DMZWDF.SAP.CORP:443/odata/aas_ocs_package/TargetVectorContentSet(Id='W7Q00207512600000262',ScName='%2FDRNMSPC%2FCOMP01')/Header" 145 } 146 } 147 } 148 ] 149 } 150 } 151 }`