started responder pool

This commit is contained in:
Jay
2026-04-20 06:57:48 -04:00
parent 3066802f62
commit 9859796338
9 changed files with 585 additions and 0 deletions
+56
View File
@@ -0,0 +1,56 @@
package responderpool
import (
"fmt"
"git.wisehodl.dev/jay/go-honeybee/honeybeetest"
"git.wisehodl.dev/jay/go-honeybee/transport"
"github.com/stretchr/testify/assert"
"io"
"testing"
)
func setupReaderTestConnection(t *testing.T) (
conn *transport.Connection,
mock *honeybeetest.MockSocket,
incoming chan honeybeetest.MockIncomingData,
outgoing chan honeybeetest.MockOutgoingData,
) {
t.Helper()
incoming = make(chan honeybeetest.MockIncomingData, 10)
outgoing = make(chan honeybeetest.MockOutgoingData, 10)
mock = honeybeetest.NewMockSocket()
mock.CloseFunc = func() error {
mock.Once.Do(func() { close(mock.Closed) })
return nil
}
mock.ReadMessageFunc = func() (int, []byte, error) {
select {
case data, ok := <-incoming:
if !ok {
return 0, nil, io.EOF
}
return data.MsgType, data.Data, data.Err
case <-mock.Closed:
return 0, nil, io.EOF
}
}
mock.WriteMessageFunc = func(msgType int, data []byte) error {
select {
case outgoing <- honeybeetest.MockOutgoingData{MsgType: msgType, Data: data}:
return nil
case <-mock.Closed:
return io.EOF
default:
return fmt.Errorf("mock outgoing channel unavailable")
}
}
var err error
conn, err = transport.NewConnectionFromSocket(mock, nil, nil)
assert.NoError(t, err)
return
}