ws peer 를 제네릭으로 변경
This commit is contained in:
@ -60,24 +60,27 @@ func TestUnmarshalToken(t *testing.T) {
|
||||
|
||||
}
|
||||
|
||||
type peerHandler struct {
|
||||
type testpeer struct {
|
||||
id string
|
||||
}
|
||||
|
||||
func (ph *peerHandler) ApiFunc1(arg1 string, arg2 int) error {
|
||||
func (ph *testpeer) ApiFunc1(arg1 string, arg2 int) error {
|
||||
fmt.Println("ApiFunc1", ph.id, arg1, arg2)
|
||||
return errors.New("fake")
|
||||
}
|
||||
|
||||
func (ph *peerHandler) ApiFunc2(arg1 string, arg2 map[string]int) (string, error) {
|
||||
func (ph *testpeer) ApiFunc2(arg1 string, arg2 map[string]int) (string, error) {
|
||||
fmt.Println("ApiFunc2", ph.id, arg1, arg2)
|
||||
return "success", nil
|
||||
}
|
||||
|
||||
func (ph *peerHandler) ApiFunc3(arg1 float64, arg2 []int) {
|
||||
func (ph *testpeer) ApiFunc3(arg1 float64, arg2 []int) {
|
||||
fmt.Println("ApiFunc3", ph.id, arg1, arg2)
|
||||
}
|
||||
|
||||
func (ph *testpeer) ClientDisconnected(reason string) {
|
||||
}
|
||||
|
||||
type dummySessionConsumer struct {
|
||||
}
|
||||
|
||||
@ -89,19 +92,19 @@ func (dsc *dummySessionConsumer) Touch(string) (session.Authorization, error) {
|
||||
}
|
||||
|
||||
func TestPeerApiBroker(t *testing.T) {
|
||||
handler := MakeWebsocketPeerApiHandler[peerHandler]("test")
|
||||
ws := NewWebsocketPeerHandler(&dummySessionConsumer{})
|
||||
handler := MakeWebsocketPeerApiHandler[*testpeer]("test")
|
||||
ws := NewWebsocketPeerHandler[*testpeer](&dummySessionConsumer{})
|
||||
ws.AddHandler(handler)
|
||||
|
||||
peer := &peerHandler{
|
||||
tp := &testpeer{
|
||||
id: "onlyone",
|
||||
}
|
||||
func1args, _ := json.Marshal([]any{string("arg1"), int(100)})
|
||||
ws.Call(peer, "test.ApiFunc1", bytes.NewBuffer(func1args))
|
||||
ws.Call(tp, "test.ApiFunc1", bytes.NewBuffer(func1args))
|
||||
|
||||
func1args, _ = json.Marshal([]any{string("arg1"), map[string]int{"arg2.key": 99}})
|
||||
ws.Call(peer, "test.ApiFunc2", bytes.NewBuffer(func1args))
|
||||
ws.Call(tp, "test.ApiFunc2", bytes.NewBuffer(func1args))
|
||||
|
||||
func1args, _ = json.Marshal([]any{float64(111.1), []int{99, 98}})
|
||||
ws.Call(peer, "test.ApiFunc3", bytes.NewBuffer(func1args))
|
||||
ws.Call(tp, "test.ApiFunc3", bytes.NewBuffer(func1args))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user