mirror of
https://github.com/foomo/gotsrpc.git
synced 2026-04-28 16:44:26 +00:00
112 lines
1.9 KiB
Go
112 lines
1.9 KiB
Go
package server_test
|
|
|
|
import (
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"testing"
|
|
|
|
"github.com/foomo/gotsrpc/v2/tests/errors/server"
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestHandler(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
h := server.New()
|
|
w := httptest.NewRecorder()
|
|
r := httptest.NewRequestWithContext(t.Context(), http.MethodPost, "/", nil)
|
|
|
|
t.Run("Error", func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
err := h.Error(w, r)
|
|
assert.Error(t, err)
|
|
})
|
|
|
|
t.Run("Errors", func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
err1, err2 := h.Errors(w, r)
|
|
require.Error(t, err1)
|
|
assert.Error(t, err2)
|
|
})
|
|
|
|
t.Run("Scalar", func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
ret := h.Scalar(w, r)
|
|
assert.NotNil(t, ret)
|
|
})
|
|
|
|
t.Run("MultiScalar", func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
ret := h.MultiScalar(w, r)
|
|
assert.NotNil(t, ret)
|
|
})
|
|
|
|
t.Run("Struct", func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
ret := h.Struct(w, r)
|
|
assert.NotNil(t, ret)
|
|
})
|
|
|
|
t.Run("StructError", func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
err := h.StructError(w, r)
|
|
assert.Error(t, err)
|
|
})
|
|
|
|
t.Run("TypedError", func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
err := h.TypedError(w, r)
|
|
assert.Error(t, err)
|
|
})
|
|
|
|
t.Run("ScalarError", func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
err := h.ScalarError(w, r)
|
|
assert.Error(t, err)
|
|
})
|
|
|
|
t.Run("CustomError", func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
err := h.CustomError(w, r)
|
|
assert.Error(t, err)
|
|
})
|
|
|
|
t.Run("WrappedError", func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
err := h.WrappedError(w, r)
|
|
assert.Error(t, err)
|
|
})
|
|
|
|
t.Run("TypedWrappedError", func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
err := h.TypedWrappedError(w, r)
|
|
assert.Error(t, err)
|
|
})
|
|
|
|
t.Run("TypedScalarError", func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
err := h.TypedScalarError(w, r)
|
|
assert.Error(t, err)
|
|
})
|
|
|
|
t.Run("TypedCustomError", func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
err := h.TypedCustomError(w, r)
|
|
assert.Error(t, err)
|
|
})
|
|
}
|