func testStreamHealth(t *testing.T, conn tabletconn.TabletConn) { t.Log("testStreamHealth") streamHealthSynchronization = make(chan struct{}) ctx := context.Background() c, errFunc, err := conn.StreamHealth(ctx) if err != nil { t.Fatalf("StreamHealth failed: %v", err) } // channel should have one response, then closed shr, ok := <-c if !ok { t.Fatalf("StreamHealth got no response") } if !reflect.DeepEqual(*shr, *testStreamHealthStreamHealthResponse) { t.Errorf("invalid StreamHealthResponse: got %v expected %v", *shr, *testStreamHealthStreamHealthResponse) } // close streamHealthSynchronization so server side knows we // got the response, and it can send the error close(streamHealthSynchronization) _, ok = <-c if ok { t.Fatalf("StreamHealth wasn't closed") } err = errFunc() if !strings.Contains(err.Error(), testStreamHealthError) { t.Fatalf("StreamHealth failed with the wrong error: %v", err) } }
func testStreamHealthPanics(t *testing.T, conn tabletconn.TabletConn, f *FakeQueryService) { t.Log("testStreamHealthPanics") testPanicHelper(t, f, "StreamHealth", func(ctx context.Context) error { stream, err := conn.StreamHealth(ctx) if err != nil { t.Fatalf("StreamHealth failed: %v", err) } _, err = stream.Recv() return err }) }
func testStreamHealthPanics(t *testing.T, conn tabletconn.TabletConn) { ctx := context.Background() stream, err := conn.StreamHealth(ctx) if err != nil { t.Fatalf("StreamHealth failed: %v", err) } _, err = stream.Recv() if err == nil || !strings.Contains(err.Error(), "caught test panic") { t.Fatalf("unexpected panic error: %v", err) } }
func testStreamHealthError(t *testing.T, conn tabletconn.TabletConn) { ctx := context.Background() stream, err := conn.StreamHealth(ctx) if err != nil { t.Fatalf("StreamHealth failed: %v", err) } _, err = stream.Recv() if err == nil || !strings.Contains(err.Error(), testStreamHealthErrorMsg) { t.Fatalf("StreamHealth failed with the wrong error: %v", err) } }
func testStreamHealthError(t *testing.T, conn tabletconn.TabletConn, f *FakeQueryService) { t.Log("testStreamHealthError") f.HasError = true ctx := context.Background() stream, err := conn.StreamHealth(ctx) if err != nil { t.Fatalf("StreamHealth failed: %v", err) } _, err = stream.Recv() if err == nil || !strings.Contains(err.Error(), TestStreamHealthErrorMsg) { t.Fatalf("StreamHealth failed with the wrong error: %v", err) } f.HasError = false }
func testStreamHealthPanics(t *testing.T, conn tabletconn.TabletConn) { ctx := context.Background() c, errFunc, err := conn.StreamHealth(ctx) if err != nil { t.Fatalf("StreamHealth failed: %v", err) } // channel should have no response, just closed _, ok := <-c if ok { t.Fatalf("StreamHealth wasn't closed") } err = errFunc() if err == nil || !strings.Contains(err.Error(), "caught test panic") { t.Fatalf("unexpected panic error: %v", err) } }
func testStreamHealth(t *testing.T, conn tabletconn.TabletConn) { ctx := context.Background() stream, err := conn.StreamHealth(ctx) if err != nil { t.Fatalf("StreamHealth failed: %v", err) } // channel should have one response, then closed shr, err := stream.Recv() if err != nil { t.Fatalf("StreamHealth got no response") } if !reflect.DeepEqual(*shr, *testStreamHealthStreamHealthResponse) { t.Errorf("invalid StreamHealthResponse: got %v expected %v", *shr, *testStreamHealthStreamHealthResponse) } }