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