Skip to content

Commit 08e66d8

Browse files
committed
Fixes server version issue
Signed-off-by: nagesh bansal <[email protected]>
1 parent 3bac6d7 commit 08e66d8

File tree

6 files changed

+58
-52
lines changed

6 files changed

+58
-52
lines changed

pkg/apis/experiment/experiment.go

-33
Original file line numberDiff line numberDiff line change
@@ -346,36 +346,3 @@ func DeleteChaosExperiment(projectID string, experimentID *string, cred types.Cr
346346
return DeleteChaosExperimentData{}, errors.New("Error while deleting the Chaos Experiment")
347347
}
348348
}
349-
350-
// GetServerVersion fetches the GQL server version
351-
func GetServerVersion(endpoint string) (ServerVersionResponse, error) {
352-
query := `{"query":"query{\n getServerVersion{\n key value\n }\n}"}`
353-
resp, err := apis.SendRequest(
354-
apis.SendRequestParams{
355-
Endpoint: endpoint + utils.GQLAPIPath,
356-
},
357-
[]byte(query),
358-
string(types.Post),
359-
)
360-
if err != nil {
361-
return ServerVersionResponse{}, err
362-
}
363-
bodyBytes, err := ioutil.ReadAll(resp.Body)
364-
defer resp.Body.Close()
365-
if err != nil {
366-
return ServerVersionResponse{}, err
367-
}
368-
if resp.StatusCode == http.StatusOK {
369-
var version ServerVersionResponse
370-
err = json.Unmarshal(bodyBytes, &version)
371-
if err != nil {
372-
return ServerVersionResponse{}, err
373-
}
374-
if len(version.Errors) > 0 {
375-
return ServerVersionResponse{}, errors.New(version.Errors[0].Message)
376-
}
377-
return version, nil
378-
} else {
379-
return ServerVersionResponse{}, errors.New(resp.Status)
380-
}
381-
}

pkg/apis/experiment/types.go

-17
Original file line numberDiff line numberDiff line change
@@ -94,20 +94,3 @@ type DeleteChaosExperimentGraphQLRequest struct {
9494
ExperimentRunID *string `json:"experimentRunID"`
9595
} `json:"variables"`
9696
}
97-
98-
type ServerVersionResponse struct {
99-
Data ServerVersionData `json:"data"`
100-
Errors []struct {
101-
Message string `json:"message"`
102-
Path []string `json:"path"`
103-
} `json:"errors"`
104-
}
105-
106-
type ServerVersionData struct {
107-
GetServerVersion GetServerVersionData `json:"getServerVersion"`
108-
}
109-
110-
type GetServerVersionData struct {
111-
Key string `json:"key"`
112-
Value string `json:"value"`
113-
}

pkg/apis/infrastructure/infra.go

+37
Original file line numberDiff line numberDiff line change
@@ -189,3 +189,40 @@ func DisconnectInfra(projectID string, infraID string, cred types.Credentials) (
189189
return DisconnectInfraData{}, err
190190
}
191191
}
192+
193+
// GetServerVersion fetches the GQL server version
194+
func GetServerVersion(endpoint string) (ServerVersionResponse, error) {
195+
196+
query, err := json.Marshal(ServerVersionQuery)
197+
if err != nil {
198+
return ServerVersionResponse{}, err
199+
}
200+
resp, err := apis.SendRequest(
201+
apis.SendRequestParams{
202+
Endpoint: endpoint + utils.GQLAPIPath,
203+
},
204+
query,
205+
string(types.Post),
206+
)
207+
if err != nil {
208+
return ServerVersionResponse{}, err
209+
}
210+
bodyBytes, err := ioutil.ReadAll(resp.Body)
211+
defer resp.Body.Close()
212+
if err != nil {
213+
return ServerVersionResponse{}, err
214+
}
215+
if resp.StatusCode == http.StatusOK {
216+
var version ServerVersionResponse
217+
err = json.Unmarshal(bodyBytes, &version)
218+
if err != nil {
219+
return ServerVersionResponse{}, err
220+
}
221+
if len(version.Errors) > 0 {
222+
return ServerVersionResponse{}, errors.New(version.Errors[0].Message)
223+
}
224+
return version, nil
225+
} else {
226+
return ServerVersionResponse{}, errors.New(resp.Status)
227+
}
228+
}

pkg/apis/infrastructure/query.go

+7
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,11 @@ const (
3030
}
3131
}
3232
}`
33+
34+
ServerVersionQuery = `query getServerVersion{
35+
getServerVersion{
36+
key
37+
value
38+
}
39+
}`
3340
)

pkg/apis/infrastructure/types.go

+12
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,15 @@ type DisconnectInfraGraphQLRequest struct {
6666
InfraID string `json:"infraID"`
6767
} `json:"variables"`
6868
}
69+
70+
type ServerVersionResponse struct {
71+
Data ServerVersionData `json:"data"`
72+
Errors []struct {
73+
Message string `json:"message"`
74+
Path []string `json:"path"`
75+
} `json:"errors"`
76+
}
77+
78+
type ServerVersionData struct {
79+
GetServerVersion models.ServerVersionResponse `json:"getServerVersion"`
80+
}

pkg/cmd/config/setAccount.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import (
2222
"strings"
2323
"time"
2424

25-
"github.com/litmuschaos/litmusctl/pkg/apis/experiment"
25+
infra "github.com/litmuschaos/litmusctl/pkg/apis/infrastructure"
2626

2727
"github.com/golang-jwt/jwt"
2828
"github.com/litmuschaos/litmusctl/pkg/apis"
@@ -177,7 +177,7 @@ var setAccountCmd = &cobra.Command{
177177
utils.Red.Println("\nError: some flags are missing. Run 'litmusctl config set-account --help' for usage. ")
178178
}
179179

180-
serverResp, err := experiment.GetServerVersion(authInput.Endpoint)
180+
serverResp, err := infra.GetServerVersion(authInput.Endpoint)
181181
var isCompatible bool
182182
if err != nil {
183183
utils.Red.Println("\nError: ", err)

0 commit comments

Comments
 (0)