github.com/SAP/jenkins-library@v1.362.0/cmd/cloudFoundryDeleteService_test.go (about)

     1  //go:build unit
     2  // +build unit
     3  
     4  package cmd
     5  
     6  import (
     7  	"testing"
     8  
     9  	"github.com/SAP/jenkins-library/pkg/cloudfoundry"
    10  	"github.com/SAP/jenkins-library/pkg/mock"
    11  	"github.com/stretchr/testify/assert"
    12  )
    13  
    14  func TestCloudFoundryDeleteService(t *testing.T) {
    15  
    16  	t.Run("CF Delete Service : success case", func(t *testing.T) {
    17  		config := cloudFoundryDeleteServiceOptions{
    18  			CfAPIEndpoint:       "https://api.endpoint.com",
    19  			CfOrg:               "testOrg",
    20  			CfSpace:             "testSpace",
    21  			Username:            "testUser",
    22  			Password:            "testPassword",
    23  			CfServiceInstance:   "testInstance",
    24  			CfDeleteServiceKeys: true,
    25  		}
    26  		m := make(map[string]string)
    27  		m["cf service-keys testInstance"] = `line1
    28  line2
    29  line3
    30  myServiceKey1
    31  myServiceKey2
    32  `
    33  		execRunner := mock.ExecMockRunner{
    34  			StdoutReturn: m,
    35  		}
    36  		cfUtils := cloudfoundry.CfUtilsMock{}
    37  
    38  		err := runCloudFoundryDeleteService(config, &execRunner, &cfUtils)
    39  		if assert.NoError(t, err) {
    40  			assert.Equal(t, "cf", execRunner.Calls[0].Exec)
    41  			assert.Equal(t, "cf", execRunner.Calls[1].Exec)
    42  			assert.Equal(t, "cf", execRunner.Calls[2].Exec)
    43  			assert.Equal(t, "cf", execRunner.Calls[3].Exec)
    44  			assert.Equal(t, []string{"service-keys", "testInstance"}, execRunner.Calls[0].Params)
    45  			assert.Equal(t, []string{"delete-service-key", "testInstance", "myServiceKey1", "-f"}, execRunner.Calls[1].Params)
    46  			assert.Equal(t, []string{"delete-service-key", "testInstance", "myServiceKey2", "-f"}, execRunner.Calls[2].Params)
    47  			assert.Equal(t, []string{"delete-service", "testInstance", "-f"}, execRunner.Calls[3].Params)
    48  		}
    49  	})
    50  }