github.com/xgoffin/jenkins-library@v1.154.0/cmd/abapAddonAssemblyKitPublishTargetVector_test.go (about)

     1  package cmd
     2  
     3  import (
     4  	"encoding/json"
     5  	"testing"
     6  
     7  	"github.com/SAP/jenkins-library/pkg/abap/aakaas"
     8  	abapbuild "github.com/SAP/jenkins-library/pkg/abap/build"
     9  	"github.com/SAP/jenkins-library/pkg/abaputils"
    10  	"github.com/stretchr/testify/assert"
    11  )
    12  
    13  func TestPublishTargetVectorStep(t *testing.T) {
    14  	//setup
    15  	config := abapAddonAssemblyKitPublishTargetVectorOptions{
    16  		TargetVectorScope: "P",
    17  		Username:          "dummy",
    18  		Password:          "dummy",
    19  	}
    20  	addonDescriptor := abaputils.AddonDescriptor{
    21  		TargetVectorID: "W7Q00207512600000353",
    22  	}
    23  	adoDesc, _ := json.Marshal(addonDescriptor)
    24  	config.AddonDescriptor = string(adoDesc)
    25  
    26  	t.Run("step success prod", func(t *testing.T) {
    27  		//arrange
    28  		mc := abapbuild.NewMockClient()
    29  		mc.AddData(aakaas.AAKaaSHead)
    30  		mc.AddData(aakaas.AAKaaSTVPublishProdPost)
    31  		mc.AddData(aakaas.AAKaaSGetTVPublishRunning)
    32  		mc.AddData(aakaas.AAKaaSGetTVPublishProdSuccess)
    33  		bundle := aakaas.NewAakBundleMockNewMC(&mc)
    34  		utils := bundle.GetUtils()
    35  
    36  		//act
    37  		err := runAbapAddonAssemblyKitPublishTargetVector(&config, nil, &utils)
    38  		//assert
    39  		assert.NoError(t, err, "Did not expect error")
    40  	})
    41  
    42  	t.Run("step success test", func(t *testing.T) {
    43  		//arrange
    44  		config.TargetVectorScope = "T"
    45  		mc := abapbuild.NewMockClient()
    46  		mc.AddData(aakaas.AAKaaSHead)
    47  		mc.AddData(aakaas.AAKaaSTVPublishTestPost)
    48  		mc.AddData(aakaas.AAKaaSGetTVPublishRunning)
    49  		mc.AddData(aakaas.AAKaaSGetTVPublishTestSuccess)
    50  		bundle := aakaas.NewAakBundleMockNewMC(&mc)
    51  		utils := bundle.GetUtils()
    52  
    53  		//act
    54  		err := runAbapAddonAssemblyKitPublishTargetVector(&config, nil, &utils)
    55  		//assert
    56  		assert.NoError(t, err, "Did not expect error")
    57  	})
    58  
    59  	t.Run("step fail http", func(t *testing.T) {
    60  		//arrange
    61  		bundle := aakaas.NewAakBundleMock()
    62  		bundle.SetBody("dummy")
    63  		bundle.SetError("dummy")
    64  		utils := bundle.GetUtils()
    65  
    66  		//act
    67  		err := runAbapAddonAssemblyKitPublishTargetVector(&config, nil, &utils)
    68  		//assert
    69  		assert.Error(t, err, "Must end with error")
    70  	})
    71  
    72  	t.Run("step fail no id", func(t *testing.T) {
    73  		//arrange
    74  		config := abapAddonAssemblyKitPublishTargetVectorOptions{}
    75  		mc := abapbuild.NewMockClient()
    76  		bundle := aakaas.NewAakBundleMockNewMC(&mc)
    77  		utils := bundle.GetUtils()
    78  
    79  		//act
    80  		err := runAbapAddonAssemblyKitPublishTargetVector(&config, nil, &utils)
    81  		//assert
    82  		assert.Error(t, err, "Must end with error")
    83  	})
    84  }