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:
Arve Knudsen
2020-06-29 14:08:32 +02:00
committed by GitHub
parent 942a14b4ce
commit 5070f7a75b
44 changed files with 244 additions and 171 deletions
@@ -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
+25 -12
View File
@@ -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")
})
}