github.com/xgoffin/jenkins-library@v1.154.0/cmd/integrationArtifactGetServiceEndpoint_test.go (about) 1 package cmd 2 3 import ( 4 "testing" 5 6 "github.com/SAP/jenkins-library/pkg/mock" 7 "github.com/stretchr/testify/assert" 8 ) 9 10 type integrationArtifactGetServiceEndpointMockUtils struct { 11 *mock.ExecMockRunner 12 *mock.FilesMock 13 } 14 15 func newIntegrationArtifactGetServiceEndpointTestsUtils() integrationArtifactGetServiceEndpointMockUtils { 16 utils := integrationArtifactGetServiceEndpointMockUtils{ 17 ExecMockRunner: &mock.ExecMockRunner{}, 18 FilesMock: &mock.FilesMock{}, 19 } 20 return utils 21 } 22 23 func TestRunIntegrationArtifactGetServiceEndpoint(t *testing.T) { 24 t.Parallel() 25 26 t.Run("Successfully Test of Get Integration Flow Service Endpoint", func(t *testing.T) { 27 apiServiceKey := `{ 28 "oauth": { 29 "url": "https://demo", 30 "clientid": "demouser", 31 "clientsecret": "******", 32 "tokenurl": "https://demo/oauth/token" 33 } 34 }` 35 config := integrationArtifactGetServiceEndpointOptions{ 36 APIServiceKey: apiServiceKey, 37 IntegrationFlowID: "CPI_IFlow_Call_using_Cert", 38 } 39 40 httpClient := httpMockCpis{CPIFunction: "IntegrationArtifactGetServiceEndpoint", ResponseBody: ``, TestType: "PositiveAndGetetIntegrationArtifactGetServiceResBody"} 41 seOut := integrationArtifactGetServiceEndpointCommonPipelineEnvironment{} 42 err := runIntegrationArtifactGetServiceEndpoint(&config, nil, &httpClient, &seOut) 43 assert.EqualValues(t, seOut.custom.integrationFlowServiceEndpoint, "https://demo.cfapps.sap.hana.ondemand.com/http/testwithcert") 44 45 if assert.NoError(t, err) { 46 47 t.Run("check url", func(t *testing.T) { 48 assert.Equal(t, "https://demo/api/v1/ServiceEndpoints?$expand=EntryPoints", httpClient.URL) 49 }) 50 51 t.Run("check method", func(t *testing.T) { 52 assert.Equal(t, "GET", httpClient.Method) 53 }) 54 } 55 56 }) 57 58 t.Run("Failed Test of Get Integration Flow MPL Status", func(t *testing.T) { 59 apiServiceKey := `{ 60 "oauth": { 61 "url": "https://demo", 62 "clientid": "demouser", 63 "clientsecret": "******", 64 "tokenurl": "https://demo/oauth/token" 65 } 66 }` 67 config := integrationArtifactGetServiceEndpointOptions{ 68 APIServiceKey: apiServiceKey, 69 IntegrationFlowID: "CPI_IFlow_Call_using_Cert", 70 } 71 72 httpClient := httpMockCpis{CPIFunction: "IntegrationArtifactGetServiceEndpoint", ResponseBody: ``, TestType: "Negative"} 73 74 seOut := integrationArtifactGetServiceEndpointCommonPipelineEnvironment{} 75 err := runIntegrationArtifactGetServiceEndpoint(&config, nil, &httpClient, &seOut) 76 assert.EqualValues(t, seOut.custom.integrationFlowServiceEndpoint, "") 77 assert.EqualError(t, err, "HTTP GET request to https://demo/api/v1/ServiceEndpoints?$expand=EntryPoints failed with error: Unable to get integration flow service endpoint, Response Status code:400") 78 }) 79 80 }