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 }