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

@ -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

@ -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": {},

Loading…
Cancel
Save