// This function tests the default connector. func TestDefaultConnector(t *testing.T) { stream := testStream() l, err := net.Listen("tcp", "127.0.0.1:0") if err != nil { t.Fatalf("Can't listen: %v", err) } go func() { conn, err := l.Accept() if err != nil { t.Fatalf("Can't accept: %v", err) } conn.Write(stream) conn.Close() }() ch := make(chan *pb.LanzRecord) done := make(chan bool) c := lanz.New(lanz.WithAddr(l.Addr().String()), lanz.WithBackoff(1*time.Millisecond)) go func() { c.Run(ch) done <- true }() p := <-ch c.Stop() <-done if !test.DeepEqual(p, testProtoBuf) { t.Fatalf("Expected protobuf %v, but got %v", testProtoBuf, p) } }
func launchClient(ch chan<- *pb.LanzRecord, conn lanz.ConnectReadCloser) (lanz.Client, chan bool) { done := make(chan bool) c := lanz.New(lanz.WithConnector(conn), lanz.WithBackoff(1*time.Millisecond)) go func() { c.Run(ch) done <- true }() return c, done }