[v11.3.x] Chore: Fix population of details when converting from errutil errors to K8s error (#94998)

Chore: Fix population of details when converting from errutil errors to K8s error (#94996)

(cherry picked from commit 672d5f92f2)

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
This commit is contained in:
grafana-delivery-bot[bot]
2024-10-18 23:11:44 +03:00
committed by GitHub
co-authored by Yuri Tseretyan
parent e0da40ea8c
commit 48d083d495
2 changed files with 11 additions and 14 deletions
+5 -4
View File
@@ -391,11 +391,12 @@ func (e Error) Status() metav1.Status {
for k, v := range public.Extra {
v, err := json.Marshal(v)
if err != nil {
s.Details.Causes = append(s.Details.Causes, metav1.StatusCause{
Field: k,
Message: string(v),
})
continue
}
s.Details.Causes = append(s.Details.Causes, metav1.StatusCause{
Field: k,
Message: string(v),
})
}
}
return s
+6 -10
View File
@@ -138,16 +138,12 @@ func TestIntegrationSimpleQuery(t *testing.T) {
//fmt.Printf("OUT: %s", string(body))
require.Error(t, err, "expecting a 400")
require.JSONEq(t, `{
"kind": "Status",
"apiVersion": "v1",
"metadata": {},
"status": "Failure",
"message": "did not execute expression [Y] due to a failure to of the dependent expression or query [X]",
"reason": "BadRequest",
"details": { "uid": "sse.dependencyError" },
"code": 400
}`, string(body))
responseBody := map[string]any{}
require.NoError(t, json.Unmarshal(body, &responseBody))
require.EqualValues(t, 400, responseBody["code"])
require.Equal(t, "Failure", responseBody["status"])
require.Equal(t, "did not execute expression [Y] due to a failure to of the dependent expression or query [X]", responseBody["message"])
require.Equal(t, "BadRequest", responseBody["reason"])
// require.JSONEq(t, `{
// "status": "Failure",
// "metadata": {},