mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2025-12-26 15:50:47 -05:00
46 lines
1.1 KiB
Go
46 lines
1.1 KiB
Go
package errorcode_test
|
|
|
|
import (
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
"github.com/opencloud-eu/opencloud/services/graph/pkg/errorcode"
|
|
)
|
|
|
|
type customErr struct{}
|
|
|
|
func (customErr) Error() string {
|
|
return "some error"
|
|
}
|
|
|
|
func TestRenderError(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
t.Run("errorcode.Error value error", func(t *testing.T) {
|
|
r := httptest.NewRequest("GET", "/", nil)
|
|
w := httptest.NewRecorder()
|
|
err := errorcode.New(errorcode.ItemNotFound, "test error")
|
|
errorcode.RenderError(w, r, err)
|
|
require.Equal(t, http.StatusNotFound, w.Code)
|
|
})
|
|
|
|
t.Run("errorcode.Error zero value error", func(t *testing.T) {
|
|
r := httptest.NewRequest("GET", "/", nil)
|
|
w := httptest.NewRecorder()
|
|
var err errorcode.Error
|
|
errorcode.RenderError(w, r, err)
|
|
require.Equal(t, http.StatusForbidden, w.Code)
|
|
})
|
|
|
|
t.Run("custom error", func(t *testing.T) {
|
|
r := httptest.NewRequest("GET", "/", nil)
|
|
w := httptest.NewRecorder()
|
|
var err customErr
|
|
errorcode.RenderError(w, r, err)
|
|
require.Equal(t, http.StatusInternalServerError, w.Code)
|
|
})
|
|
}
|