package main import "testing" func TestGenericConnection(t *testing.T) { conn := NewConnection("localhost:51337") listener, err := conn.Listen() if err != nil { t.Errorf("Error listening: %v\n", err) } datta := []byte("Hello, world!") listener.AddHandler(1, func(input *FrameWithPayload, resultChan chan<- FrameWithPayload) error { resultChan <- MakeFrameWithPayload(2, 200, datta) return nil }) r, err := conn.Call(1, datta) if err != nil { t.Errorf("Error calling: %v\n", err) } if r.Type != 2 { t.Errorf("Expected type 2, got %d\n", r.Type) } i := 100 results := make(chan FrameWithPayload, i) for i > 0 { go conn.CallAsync(1, datta, results) i-- } for i < 100 { r := <-results if r.Type != 2 { t.Errorf("Expected type 2, got %d\n", r.Type) } i++ } }