Files
gotsrpc/tests/nullable/server/handler_test.go
Kevin Franklin Kim df7a09dd76 style: wsl_v5
2026-03-22 21:34:08 +01:00

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)
})
}