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

Function TestBrokerCancel

pkg/streamclient/streambroker_test.go:201–223  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

199}
200
201func TestBrokerCancel(t *testing.T) {
202 broker1, broker2 := setupBrokerPair()
203
204 reader, meta := broker1.CreateStreamReader("reader1", "writer1", 1024)
205 writer, err := broker2.CreateStreamWriter(meta)
206 if err != nil {
207 t.Fatalf("CreateStreamWriter failed: %v", err)
208 }
209
210 reader.Close()
211
212 select {
213 case <-writer.GetCanceledChan():
214 // Success
215 case <-time.After(1 * time.Second):
216 t.Fatal("Writer not notified of cancellation")
217 }
218
219 _, _, canceled := writer.GetAckState()
220 if !canceled {
221 t.Fatal("Writer should be in canceled state")
222 }
223}
224
225func TestBrokerMultipleWrites(t *testing.T) {
226 broker1, broker2 := setupBrokerPair()

Callers

nothing calls this directly

Calls 6

setupBrokerPairFunction · 0.85
CreateStreamReaderMethod · 0.80
CreateStreamWriterMethod · 0.80
GetCanceledChanMethod · 0.80
GetAckStateMethod · 0.80
CloseMethod · 0.65

Tested by

no test coverage detected