Chore: Start harmonizing linting with plugin SDK (#25854)
* Chore: Harmonize linting with plugin SDK Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com> * Chore: Fix linting issues Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
This commit is contained in:
@@ -2,6 +2,7 @@ package commandstest
|
||||
|
||||
import (
|
||||
"flag"
|
||||
|
||||
"github.com/grafana/grafana/pkg/cmd/grafana-cli/utils"
|
||||
"github.com/urfave/cli/v2"
|
||||
)
|
||||
|
||||
@@ -308,7 +308,7 @@ func extractFile(file *zip.File, filePath string) (err error) {
|
||||
}()
|
||||
|
||||
_, err = io.Copy(dst, src)
|
||||
return
|
||||
return err
|
||||
}
|
||||
|
||||
// isPathSafe checks if the filePath does not resolve outside of destination. This is used to prevent
|
||||
|
||||
@@ -8,43 +8,56 @@ import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestHandleResponse(t *testing.T) {
|
||||
t.Run("Returns body if status == 200", func(t *testing.T) {
|
||||
bodyReader, err := handleResponse(makeResponse(200, "test"))
|
||||
assert.NoError(t, err)
|
||||
resp := makeResponse(200, "test")
|
||||
defer resp.Body.Close()
|
||||
bodyReader, err := handleResponse(resp)
|
||||
require.NoError(t, err)
|
||||
body, err := ioutil.ReadAll(bodyReader)
|
||||
assert.NoError(t, err)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, "test", string(body))
|
||||
})
|
||||
|
||||
t.Run("Returns ErrorNotFound if status == 404", func(t *testing.T) {
|
||||
_, err := handleResponse(makeResponse(404, ""))
|
||||
resp := makeResponse(404, "")
|
||||
defer resp.Body.Close()
|
||||
_, err := handleResponse(resp)
|
||||
assert.Equal(t, ErrNotFoundError, err)
|
||||
})
|
||||
|
||||
t.Run("Returns message from body if status == 400", func(t *testing.T) {
|
||||
_, err := handleResponse(makeResponse(400, "{ \"message\": \"error_message\" }"))
|
||||
assert.Error(t, err)
|
||||
resp := makeResponse(400, "{ \"message\": \"error_message\" }")
|
||||
defer resp.Body.Close()
|
||||
_, err := handleResponse(resp)
|
||||
require.Error(t, err)
|
||||
assert.Equal(t, "error_message", asBadRequestError(t, err).Message)
|
||||
})
|
||||
|
||||
t.Run("Returns body if status == 400 and no message key", func(t *testing.T) {
|
||||
_, err := handleResponse(makeResponse(400, "{ \"test\": \"test_message\"}"))
|
||||
assert.Error(t, err)
|
||||
resp := makeResponse(400, "{ \"test\": \"test_message\"}")
|
||||
defer resp.Body.Close()
|
||||
_, err := handleResponse(resp)
|
||||
require.Error(t, err)
|
||||
assert.Equal(t, "{ \"test\": \"test_message\"}", asBadRequestError(t, err).Message)
|
||||
})
|
||||
|
||||
t.Run("Returns Bad request error if status == 400 and no body", func(t *testing.T) {
|
||||
_, err := handleResponse(makeResponse(400, ""))
|
||||
assert.Error(t, err)
|
||||
resp := makeResponse(400, "")
|
||||
defer resp.Body.Close()
|
||||
_, err := handleResponse(resp)
|
||||
require.Error(t, err)
|
||||
_ = asBadRequestError(t, err)
|
||||
})
|
||||
|
||||
t.Run("Returns error with invalid status if status == 500", func(t *testing.T) {
|
||||
_, err := handleResponse(makeResponse(500, ""))
|
||||
assert.Error(t, err)
|
||||
resp := makeResponse(500, "")
|
||||
defer resp.Body.Close()
|
||||
_, err := handleResponse(resp)
|
||||
require.Error(t, err)
|
||||
assert.Contains(t, err.Error(), "invalid status")
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user