[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>
pull/95035/head
grafana-delivery-bot[bot] 1 year ago committed by GitHub
parent e0da40ea8c
commit 48d083d495
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 3
      pkg/apimachinery/errutil/errors.go
  2. 16
      pkg/tests/apis/query/query_test.go

@ -391,13 +391,14 @@ func (e Error) Status() metav1.Status {
for k, v := range public.Extra { for k, v := range public.Extra {
v, err := json.Marshal(v) v, err := json.Marshal(v)
if err != nil { if err != nil {
continue
}
s.Details.Causes = append(s.Details.Causes, metav1.StatusCause{ s.Details.Causes = append(s.Details.Causes, metav1.StatusCause{
Field: k, Field: k,
Message: string(v), Message: string(v),
}) })
} }
} }
}
return s return s
} }

@ -138,16 +138,12 @@ func TestIntegrationSimpleQuery(t *testing.T) {
//fmt.Printf("OUT: %s", string(body)) //fmt.Printf("OUT: %s", string(body))
require.Error(t, err, "expecting a 400") require.Error(t, err, "expecting a 400")
require.JSONEq(t, `{ responseBody := map[string]any{}
"kind": "Status", require.NoError(t, json.Unmarshal(body, &responseBody))
"apiVersion": "v1", require.EqualValues(t, 400, responseBody["code"])
"metadata": {}, require.Equal(t, "Failure", responseBody["status"])
"status": "Failure", require.Equal(t, "did not execute expression [Y] due to a failure to of the dependent expression or query [X]", responseBody["message"])
"message": "did not execute expression [Y] due to a failure to of the dependent expression or query [X]", require.Equal(t, "BadRequest", responseBody["reason"])
"reason": "BadRequest",
"details": { "uid": "sse.dependencyError" },
"code": 400
}`, string(body))
// require.JSONEq(t, `{ // require.JSONEq(t, `{
// "status": "Failure", // "status": "Failure",
// "metadata": {}, // "metadata": {},

Loading…
Cancel
Save