Errors: Make errors the same in dev as prod (#77366)
When running in dev mode, error messages would contain an additional "error" property alongside "message". Since this causes confusion, that has been removed and now error messages are the same both modes (using "message").
This commit is contained in:
@@ -230,7 +230,7 @@ func TestAdminAPIEndpoint(t *testing.T) {
|
||||
|
||||
respJSON, err := simplejson.NewJson(sc.resp.Body.Bytes())
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, "user already exists", respJSON.Get("error").MustString())
|
||||
assert.Equal(t, "User with email '' or username 'existing@example.com' already exists", respJSON.Get("message").MustString())
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ package api
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"net/http"
|
||||
"net/http/httptest"
|
||||
@@ -261,7 +260,7 @@ func TestSetFeatureToggles(t *testing.T) {
|
||||
res := runSetScenario(t, features, updates, s, writePermissions, http.StatusBadRequest)
|
||||
defer func() { require.NoError(t, res.Body.Close()) }()
|
||||
p := readBody(t, res.Body)
|
||||
assert.Equal(t, fmt.Sprintf("invalid toggle passed in: %s", featuremgmt.FlagFeatureToggleAdminPage), p["error"])
|
||||
assert.Equal(t, "invalid toggle passed in", p["message"])
|
||||
})
|
||||
|
||||
t.Run("because it is not GA or Deprecated", func(t *testing.T) {
|
||||
@@ -274,7 +273,7 @@ func TestSetFeatureToggles(t *testing.T) {
|
||||
res := runSetScenario(t, features, updates, s, writePermissions, http.StatusBadRequest)
|
||||
defer func() { require.NoError(t, res.Body.Close()) }()
|
||||
p := readBody(t, res.Body)
|
||||
assert.Equal(t, "invalid toggle passed in: toggle2", p["error"])
|
||||
assert.Equal(t, "invalid toggle passed in", p["message"])
|
||||
})
|
||||
|
||||
t.Run("because it is configured to be read-only", func(t *testing.T) {
|
||||
@@ -287,7 +286,7 @@ func TestSetFeatureToggles(t *testing.T) {
|
||||
res := runSetScenario(t, features, updates, s, writePermissions, http.StatusBadRequest)
|
||||
defer func() { require.NoError(t, res.Body.Close()) }()
|
||||
p := readBody(t, res.Body)
|
||||
assert.Equal(t, "invalid toggle passed in: toggle3", p["error"])
|
||||
assert.Equal(t, "invalid toggle passed in", p["message"])
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
@@ -162,7 +162,7 @@ func TestAPIEndpoint_Metrics_PluginDecryptionFailure(t *testing.T) {
|
||||
var resObj secretsErrorResponseBody
|
||||
err = json.Unmarshal(buf.Bytes(), &resObj)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, "unknown error", resObj.Error)
|
||||
require.Equal(t, "", resObj.Error)
|
||||
require.Contains(t, resObj.Message, "Secrets Plugin error:")
|
||||
})
|
||||
}
|
||||
@@ -264,12 +264,12 @@ func TestDataSourceQueryError(t *testing.T) {
|
||||
{
|
||||
request: reqDatasourceByUidNotFound,
|
||||
expectedStatus: http.StatusNotFound,
|
||||
expectedBody: `{"error":"data source not found","message":"Data source not found","traceID":""}`,
|
||||
expectedBody: `{"message":"Data source not found","traceID":""}`,
|
||||
},
|
||||
{
|
||||
request: reqDatasourceByIdNotFound,
|
||||
expectedStatus: http.StatusNotFound,
|
||||
expectedBody: `{"error":"data source not found","message":"Data source not found","traceID":""}`,
|
||||
expectedBody: `{"message":"Data source not found","traceID":""}`,
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@@ -128,7 +128,7 @@ func TestCallResource(t *testing.T) {
|
||||
_, err = io.Copy(body, resp.Body)
|
||||
require.NoError(t, err)
|
||||
|
||||
expectedBody := `{ "error": "something went wrong", "message": "Failed to call resource", "traceID": "" }`
|
||||
expectedBody := `{ "message": "Failed to call resource", "traceID": "" }`
|
||||
require.JSONEq(t, expectedBody, body.String())
|
||||
require.NoError(t, resp.Body.Close())
|
||||
require.Equal(t, 500, resp.StatusCode)
|
||||
|
||||
@@ -15,7 +15,6 @@ import (
|
||||
"github.com/grafana/grafana/pkg/infra/tracing"
|
||||
"github.com/grafana/grafana/pkg/middleware/requestmeta"
|
||||
contextmodel "github.com/grafana/grafana/pkg/services/contexthandler/model"
|
||||
"github.com/grafana/grafana/pkg/setting"
|
||||
"github.com/grafana/grafana/pkg/util/errutil"
|
||||
)
|
||||
|
||||
@@ -253,12 +252,6 @@ func Error(status int, message string, err error) *NormalResponse {
|
||||
data["message"] = message
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
if setting.Env != setting.Prod {
|
||||
data["error"] = err.Error()
|
||||
}
|
||||
}
|
||||
|
||||
resp := JSON(status, data)
|
||||
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user