grafana/pkg/plugins/repo/errors_test.go
Will Browne 12dc56ad0c
Plugins: Refactor plugin repository API (#69063)
* support grafana wildcard version

* undo go.mod changes

* tidy

* flesh out tests

* refactor

* add tests

* tidy naming

* undo some changes

* split interfaces

* separation

* update new signature

* simplify

* update var namings

* unexport types

* introduce opts pattern

* reorder test

* fix compat checks

* middle ground

* unexport client

* move back

* fix tests

* inline logger

* make client usable

* use fake logger

* tidy errors

* remove unused types

* fix test

* review fixes

* rework compatibility

* adjust installer

* fix tests

* opts => cfg

* remove unused var

* fix var name
2023-05-30 11:48:52 +02:00

27 lines
780 B
Go

package repo
import (
"net/http"
"testing"
"github.com/stretchr/testify/require"
)
func TestErrResponse4xx(t *testing.T) {
t.Run("newErrResponse4xx returns expected error string", func(t *testing.T) {
err := newErrResponse4xx(http.StatusBadRequest)
require.Equal(t, "400", err.Error())
require.Equal(t, http.StatusBadRequest, err.StatusCode())
msg := "This is terrible news"
err = err.withMessage(msg)
require.Equal(t, "400: This is terrible news", err.Error())
require.Equal(t, msg, err.Message())
compatInfo := NewCompatOpts("10.0.0", "darwin", "amd64")
err = err.withCompatibilityInfo(compatInfo)
require.Equal(t, "400: This is terrible news (Grafana v10.0.0 darwin-amd64)", err.Error())
require.Equal(t, compatInfo, err.compatibilityInfo)
})
}