diff --git a/pkg/apimachinery/errutil/errors.go b/pkg/apimachinery/errutil/errors.go index 7afc5d8c743..00bf30ff628 100644 --- a/pkg/apimachinery/errutil/errors.go +++ b/pkg/apimachinery/errutil/errors.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 diff --git a/pkg/tests/apis/query/query_test.go b/pkg/tests/apis/query/query_test.go index 02e63b6ca02..a683c63e3f7 100644 --- a/pkg/tests/apis/query/query_test.go +++ b/pkg/tests/apis/query/query_test.go @@ -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": {},