mirror of
https://github.com/foomo/gotsrpc.git
synced 2026-04-28 08:34:31 +00:00
83 lines
1.7 KiB
Go
83 lines
1.7 KiB
Go
package server_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/foomo/gotsrpc/v2/tests/nullable/server"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestHandler(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
h := &server.Handler{}
|
|
|
|
t.Run("VariantA", func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
v := server.Base{B1: "hello", D1: server.ACustomTypeOne}
|
|
assert.Equal(t, v, h.VariantA(t.Context(), v))
|
|
})
|
|
|
|
t.Run("VariantB", func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
v := server.BCustomType("test")
|
|
assert.Equal(t, v, h.VariantB(t.Context(), v))
|
|
})
|
|
|
|
t.Run("VariantC", func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
v := server.BCustomTypes{"a", "b"}
|
|
assert.Equal(t, v, h.VariantC(t.Context(), v))
|
|
})
|
|
|
|
t.Run("VariantD", func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
v := server.BCustomTypesMap{"x": "y"}
|
|
assert.Equal(t, v, h.VariantD(t.Context(), v))
|
|
})
|
|
|
|
t.Run("VariantE", func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
v := &server.Base{B1: "ptr"}
|
|
assert.Equal(t, v, h.VariantE(t.Context(), v))
|
|
})
|
|
|
|
t.Run("VariantE_nil", func(t *testing.T) {
|
|
t.Parallel()
|
|
assert.Nil(t, h.VariantE(t.Context(), nil))
|
|
})
|
|
|
|
t.Run("VariantF", func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
v := []*server.Base{{B1: "one"}, {B1: "two"}}
|
|
assert.Equal(t, v, h.VariantF(t.Context(), v))
|
|
})
|
|
|
|
t.Run("VariantG", func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
v := map[string]*server.Base{"k": {B1: "val"}}
|
|
assert.Equal(t, v, h.VariantG(t.Context(), v))
|
|
})
|
|
|
|
t.Run("VariantH", func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
i1 := server.Base{B1: "one"}
|
|
i2 := &server.Base{B1: "two"}
|
|
i3 := []*server.Base{{B1: "three"}}
|
|
i4 := map[string]server.Base{"k": {B1: "four"}}
|
|
r1, r2, r3, r4 := h.VariantH(t.Context(), i1, i2, i3, i4)
|
|
assert.Equal(t, i1, r1)
|
|
assert.Equal(t, i2, r2)
|
|
assert.Equal(t, i3, r3)
|
|
assert.Equal(t, i4, r4)
|
|
})
|
|
}
|