github.com/SAP/jenkins-library@v1.362.0/cmd/apiProxyList_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/apim" 10 apimhttp "github.com/SAP/jenkins-library/pkg/apim" 11 "github.com/stretchr/testify/assert" 12 ) 13 14 func TestRunApiProxyList(t *testing.T) { 15 t.Parallel() 16 17 t.Run("Get API Proxy List successfull test", func(t *testing.T) { 18 config := getDefaultOptionsForApiProxyList() 19 httpClientMock := &apimhttp.HttpMockAPIM{StatusCode: 200, ResponseBody: `{"some": "test"}`} 20 seOut := apiProxyListCommonPipelineEnvironment{} 21 apim := apim.Bundle{APIServiceKey: config.APIServiceKey, Client: httpClientMock} 22 // test 23 err := getApiProxyList(&config, apim, &seOut) 24 25 // assert 26 if assert.NoError(t, err) { 27 assert.EqualValues(t, seOut.custom.APIProxyList, "{\"some\": \"test\"}") 28 t.Run("check url", func(t *testing.T) { 29 assert.Equal(t, "/apiportal/api/1.0/Management.svc/APIProxies?filter=isCopy+eq+false&$orderby=name&$skip=1&$top=4", httpClientMock.URL) 30 }) 31 t.Run("check method", func(t *testing.T) { 32 assert.Equal(t, "GET", httpClientMock.Method) 33 }) 34 } 35 }) 36 37 t.Run("Get API Proxy List failed test", func(t *testing.T) { 38 config := getDefaultOptionsForApiProxyList() 39 httpClientMock := &apimhttp.HttpMockAPIM{StatusCode: 400} 40 seOut := apiProxyListCommonPipelineEnvironment{} 41 apim := apim.Bundle{APIServiceKey: config.APIServiceKey, Client: httpClientMock} 42 // test 43 err := getApiProxyList(&config, apim, &seOut) 44 // assert 45 assert.EqualError(t, err, "HTTP GET request to /apiportal/api/1.0/Management.svc/APIProxies?filter=isCopy+eq+false&$orderby=name&$skip=1&$top=4 failed with error: : Bad Request") 46 }) 47 } 48 49 func getDefaultOptionsForApiProxyList() apiProxyListOptions { 50 return apiProxyListOptions{ 51 APIServiceKey: apimhttp.GetServiceKey(), 52 Top: 4, 53 Skip: 1, 54 Filter: "isCopy eq false", 55 Orderby: "name", 56 } 57 }