1
1
/*
2
2
Copyright © 2021 The LitmusChaos Authors
3
-
4
3
Licensed under the Apache License, Version 2.0 (the "License");
5
4
you may not use this file except in compliance with the License.
6
5
You may obtain a copy of the License at
@@ -28,7 +27,7 @@ import (
28
27
)
29
28
30
29
// CreateExperiment sends GraphQL API request for creating a Experiment
31
- func CreateExperiment (pid string , requestData model.SaveChaosExperimentRequest , cred types.Credentials ) (RunExperimentResponse , error ) {
30
+ func CreateExperiment (pid string , requestData model.SaveChaosExperimentRequest , cred types.Credentials , httpClient apis. HTTPClientInterface ) (RunExperimentResponse , error ) {
32
31
33
32
var gqlReq SaveChaosExperimentGraphQLRequest
34
33
@@ -45,7 +44,8 @@ func CreateExperiment(pid string, requestData model.SaveChaosExperimentRequest,
45
44
apis.SendRequestParams {
46
45
Endpoint : cred .Endpoint + utils .GQLAPIPath ,
47
46
Token : cred .Token ,
48
- }, apis .Client ,
47
+ },
48
+ httpClient ,
49
49
query ,
50
50
string (types .Post ),
51
51
)
@@ -80,7 +80,7 @@ func CreateExperiment(pid string, requestData model.SaveChaosExperimentRequest,
80
80
81
81
// Query to Run the Chaos Experiment
82
82
runQuery := `{"query":"mutation{ \n runChaosExperiment(experimentID: \"` + requestData .ID + `\", projectID: \"` + pid + `\"){\n notifyID \n}}"}`
83
- resp , err = apis .SendRequest (apis.SendRequestParams {Endpoint : cred .Endpoint + utils .GQLAPIPath , Token : cred .Token }, apis . Client , []byte (runQuery ), string (types .Post ))
83
+ resp , err = apis .SendRequest (apis.SendRequestParams {Endpoint : cred .Endpoint + utils .GQLAPIPath , Token : cred .Token }, httpClient , []byte (runQuery ), string (types .Post ))
84
84
85
85
if err != nil {
86
86
return RunExperimentResponse {}, errors .New ("Error in Running Chaos Experiment: " + err .Error ())
@@ -108,7 +108,7 @@ func CreateExperiment(pid string, requestData model.SaveChaosExperimentRequest,
108
108
}
109
109
}
110
110
111
- func SaveExperiment (pid string , requestData model.SaveChaosExperimentRequest , cred types.Credentials ) (SaveExperimentData , error ) {
111
+ func SaveExperiment (pid string , requestData model.SaveChaosExperimentRequest , cred types.Credentials , httpClient apis. HTTPClientInterface ) (SaveExperimentData , error ) {
112
112
113
113
// Query to Save the Experiment
114
114
var gqlReq SaveChaosExperimentGraphQLRequest
@@ -126,7 +126,8 @@ func SaveExperiment(pid string, requestData model.SaveChaosExperimentRequest, cr
126
126
apis.SendRequestParams {
127
127
Endpoint : cred .Endpoint + utils .GQLAPIPath ,
128
128
Token : cred .Token ,
129
- }, apis .Client ,
129
+ },
130
+ httpClient ,
130
131
query ,
131
132
string (types .Post ),
132
133
)
@@ -162,11 +163,11 @@ func SaveExperiment(pid string, requestData model.SaveChaosExperimentRequest, cr
162
163
163
164
}
164
165
165
- func RunExperiment (pid string , eid string , cred types.Credentials ) (RunExperimentResponse , error ) {
166
+ func RunExperiment (pid string , eid string , cred types.Credentials , httpClient apis. HTTPClientInterface ) (RunExperimentResponse , error ) {
166
167
var err error
167
168
runQuery := `{"query":"mutation{ \n runChaosExperiment(experimentID: \"` + eid + `\", projectID: \"` + pid + `\"){\n notifyID \n}}"}`
168
169
169
- resp , err := apis .SendRequest (apis.SendRequestParams {Endpoint : cred .Endpoint + utils .GQLAPIPath , Token : cred .Token }, apis . Client , []byte (runQuery ), string (types .Post ))
170
+ resp , err := apis .SendRequest (apis.SendRequestParams {Endpoint : cred .Endpoint + utils .GQLAPIPath , Token : cred .Token }, httpClient , []byte (runQuery ), string (types .Post ))
170
171
171
172
if err != nil {
172
173
return RunExperimentResponse {}, errors .New ("Error in Running Chaos Experiment: " + err .Error ())
@@ -195,7 +196,7 @@ func RunExperiment(pid string, eid string, cred types.Credentials) (RunExperimen
195
196
}
196
197
197
198
// GetExperimentList sends GraphQL API request for fetching a list of experiments.
198
- func GetExperimentList (pid string , in model.ListExperimentRequest , cred types.Credentials ) (ExperimentListData , error ) {
199
+ func GetExperimentList (pid string , in model.ListExperimentRequest , cred types.Credentials , httpClient apis. HTTPClientInterface ) (ExperimentListData , error ) {
199
200
200
201
var gqlReq GetChaosExperimentsGraphQLRequest
201
202
var err error
@@ -213,7 +214,7 @@ func GetExperimentList(pid string, in model.ListExperimentRequest, cred types.Cr
213
214
apis.SendRequestParams {
214
215
Endpoint : cred .Endpoint + utils .GQLAPIPath ,
215
216
Token : cred .Token ,
216
- }, apis . Client ,
217
+ }, httpClient ,
217
218
query ,
218
219
string (types .Post ),
219
220
)
@@ -245,7 +246,7 @@ func GetExperimentList(pid string, in model.ListExperimentRequest, cred types.Cr
245
246
}
246
247
247
248
// GetExperimentRunsList sends GraphQL API request for fetching a list of experiment runs.
248
- func GetExperimentRunsList (pid string , in model.ListExperimentRunRequest , cred types.Credentials ) (ExperimentRunListData , error ) {
249
+ func GetExperimentRunsList (pid string , in model.ListExperimentRunRequest , cred types.Credentials , httpClient apis. HTTPClientInterface ) (ExperimentRunListData , error ) {
249
250
250
251
var gqlReq GetChaosExperimentRunGraphQLRequest
251
252
var err error
@@ -263,7 +264,7 @@ func GetExperimentRunsList(pid string, in model.ListExperimentRunRequest, cred t
263
264
apis.SendRequestParams {
264
265
Endpoint : cred .Endpoint + utils .GQLAPIPath ,
265
266
Token : cred .Token ,
266
- }, apis . Client ,
267
+ }, httpClient ,
267
268
query ,
268
269
string (types .Post ),
269
270
)
@@ -295,7 +296,7 @@ func GetExperimentRunsList(pid string, in model.ListExperimentRunRequest, cred t
295
296
}
296
297
297
298
// DeleteChaosExperiment sends GraphQL API request for deleting a given Chaos Experiment.
298
- func DeleteChaosExperiment (projectID string , experimentID * string , cred types.Credentials ) (DeleteChaosExperimentData , error ) {
299
+ func DeleteChaosExperiment (projectID string , experimentID * string , cred types.Credentials , httpClient apis. HTTPClientInterface ) (DeleteChaosExperimentData , error ) {
299
300
300
301
var gqlReq DeleteChaosExperimentGraphQLRequest
301
302
var err error
@@ -315,7 +316,8 @@ func DeleteChaosExperiment(projectID string, experimentID *string, cred types.Cr
315
316
apis.SendRequestParams {
316
317
Endpoint : cred .Endpoint + utils .GQLAPIPath ,
317
318
Token : cred .Token ,
318
- }, apis .Client ,
319
+ },
320
+ httpClient ,
319
321
query ,
320
322
string (types .Post ),
321
323
)
@@ -347,12 +349,12 @@ func DeleteChaosExperiment(projectID string, experimentID *string, cred types.Cr
347
349
}
348
350
349
351
// GetServerVersion fetches the GQL server version
350
- func GetServerVersion (endpoint string ) (ServerVersionResponse , error ) {
352
+ func GetServerVersion (endpoint string , httpClient apis. HTTPClientInterface ) (ServerVersionResponse , error ) {
351
353
query := `{"query":"query{\n getServerVersion{\n key value\n }\n}"}`
352
354
resp , err := apis .SendRequest (
353
355
apis.SendRequestParams {
354
356
Endpoint : endpoint + utils .GQLAPIPath ,
355
- }, apis . Client ,
357
+ }, httpClient ,
356
358
[]byte (query ),
357
359
string (types .Post ),
358
360
)
0 commit comments