K8s/Folders: Fix folder status error message (#95464)

* Fix folder status error message
* Add test for folder creation response message
* Add TestFoldersCreateAPIEndpointK8S fixes
* Fix message returned when user has no permissions
This commit is contained in:
Arati R.
2024-10-28 12:33:56 +01:00
committed by GitHub
parent 69f185b459
commit 4a13580a2f
3 changed files with 61 additions and 18 deletions
+24 -7
View File
@@ -1,6 +1,7 @@
package apierrors
import (
"encoding/json"
"errors"
"net/http"
@@ -48,20 +49,36 @@ func ToFolderErrorResponse(err error) response.Response {
func ToFolderStatusError(err error) k8sErrors.StatusError {
resp := ToFolderErrorResponse(err)
defaultErr := k8sErrors.StatusError{
ErrStatus: metav1.Status{
Message: "Folder API error",
Code: http.StatusInternalServerError,
},
}
normResp, ok := resp.(*response.NormalResponse)
if !ok {
return k8sErrors.StatusError{
ErrStatus: metav1.Status{
Message: "Folder API error",
Code: http.StatusInternalServerError,
},
}
return defaultErr
}
var dat map[string]interface{}
if err := json.Unmarshal(normResp.Body(), &dat); err != nil {
return defaultErr
}
m, ok := dat["message"]
if !ok {
return defaultErr
}
message, ok := m.(string)
if !ok {
return defaultErr
}
return k8sErrors.StatusError{
ErrStatus: metav1.Status{
Message: normResp.ErrMessage(),
Message: message,
Code: int32(normResp.Status()),
},
}