MCPcopy
hub / github.com/wavetermdev/waveterm / setupBrokerPair

Function setupBrokerPair

pkg/streamclient/streambroker_test.go:27–65  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

25}
26
27func setupBrokerPair() (*Broker, *Broker) {
28 rpc1 := &mockRpcInterface{
29 dataChan: make(chan wshrpc.CommandStreamData, 10),
30 ackChan: make(chan wshrpc.CommandStreamAckData, 10),
31 }
32 rpc2 := &mockRpcInterface{
33 dataChan: make(chan wshrpc.CommandStreamData, 10),
34 ackChan: make(chan wshrpc.CommandStreamAckData, 10),
35 }
36
37 broker1 := NewBroker(rpc1)
38 broker2 := NewBroker(rpc2)
39
40 go func() {
41 for data := range rpc1.dataChan {
42 broker2.RecvData(data)
43 }
44 }()
45
46 go func() {
47 for ack := range rpc1.ackChan {
48 broker2.RecvAck(ack)
49 }
50 }()
51
52 go func() {
53 for data := range rpc2.dataChan {
54 broker1.RecvData(data)
55 }
56 }()
57
58 go func() {
59 for ack := range rpc2.ackChan {
60 broker1.RecvAck(ack)
61 }
62 }()
63
64 return broker1, broker2
65}
66
67func TestBrokerBasicReadWrite(t *testing.T) {
68 broker1, broker2 := setupBrokerPair()

Callers 7

TestBrokerBasicReadWriteFunction · 0.85
TestBrokerEOFFunction · 0.85
TestBrokerFlowControlFunction · 0.85
TestBrokerErrorFunction · 0.85
TestBrokerCancelFunction · 0.85
TestBrokerMultipleWritesFunction · 0.85
TestBrokerCleanupFunction · 0.85

Calls 3

RecvDataMethod · 0.95
RecvAckMethod · 0.95
NewBrokerFunction · 0.85

Tested by

no test coverage detected