Skip to content

Commit ad4ce90

Browse files
committed
add test for unary RPC
1 parent 7808f8a commit ad4ce90

File tree

1 file changed

+46
-6
lines changed

1 file changed

+46
-6
lines changed

test/end2end_test.go

Lines changed: 46 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3736,8 +3736,8 @@ func (s) TestClientStreaming_ReturnErrorAfterSendAndClose(t *testing.T) {
37363736
}
37373737
}
37383738

3739-
// Tests for a successful RPC, client will continue to receive io.EOF for successive calls to CloseAndRecv().
3740-
func (s) TestClientStreaming_ClientCallCloseAndRecvAfterCloseAndRecv(t *testing.T) {
3739+
// Tests for a successful RPC, client will receive io.EOF for second call to RecvMsg().
3740+
func (s) TestClientStreaming_ClientCallRecvMsgTwice(t *testing.T) {
37413741
ss := stubserver.StubServer{
37423742
StreamingInputCallF: func(stream testgrpc.TestService_StreamingInputCallServer) error {
37433743
if err := stream.SendAndClose(&testpb.StreamingInputCallResponse{}); err != nil {
@@ -3760,11 +3760,15 @@ func (s) TestClientStreaming_ClientCallCloseAndRecvAfterCloseAndRecv(t *testing.
37603760
if err := stream.Send(&testpb.StreamingInputCallRequest{}); err != nil {
37613761
t.Fatalf("stream.Send(_) = %v, want <nil>", err)
37623762
}
3763-
if _, err := stream.CloseAndRecv(); err != nil {
3764-
t.Fatalf("stream.CloseAndRecv() = %v , want <nil>", err)
3763+
if err := stream.CloseSend(); err != nil {
3764+
t.Fatalf("stream.CloseSend() = %v, want <nil>", err)
3765+
}
3766+
resp := new(testpb.StreamingInputCallResponse)
3767+
if err := stream.RecvMsg(resp); err != nil {
3768+
t.Fatalf("stream.RecvMsg() = %v , want <nil>", err)
37653769
}
3766-
if _, err := stream.CloseAndRecv(); err != io.EOF {
3767-
t.Fatalf("stream.CloseAndRecv() = %v, want error %s", err, io.EOF)
3770+
if err := stream.RecvMsg(resp); err != io.EOF {
3771+
t.Fatalf("stream.RecvMsg() = %v, want error %s", err, io.EOF)
37683772
}
37693773
}
37703774

@@ -3812,6 +3816,42 @@ func (s) TestUnaryRPC_ServerSendsOnlyTrailersWithOK(t *testing.T) {
38123816
}
38133817
}
38143818

3819+
// Tests for a successful unary RPC, client will receive io.EOF for second call to RecvMsg().
3820+
func (s) TestUnaryCall_ClientCallRecvMsgTwice(t *testing.T) {
3821+
e := tcpTLSEnv
3822+
te := newTest(t, e)
3823+
defer te.tearDown()
3824+
3825+
te.startServer(&testServer{security: e.security})
3826+
3827+
cc := te.clientConn()
3828+
ctx, cancel := context.WithTimeout(context.Background(), defaultTestTimeout)
3829+
defer cancel()
3830+
3831+
desc := &grpc.StreamDesc{
3832+
StreamName: "UnaryCall",
3833+
ServerStreams: false,
3834+
ClientStreams: false,
3835+
}
3836+
stream, err := cc.NewStream(ctx, desc, "/grpc.testing.TestService/UnaryCall")
3837+
if err != nil {
3838+
t.Fatalf("cc.NewStream() failed unexpectedly: %v", err)
3839+
}
3840+
3841+
if err := stream.SendMsg(&testpb.SimpleRequest{}); err != nil {
3842+
t.Fatalf("stream.SendMsg(_) = %v, want <nil>", err)
3843+
}
3844+
3845+
resp := &testpb.SimpleResponse{}
3846+
if err := stream.RecvMsg(resp); err != nil {
3847+
t.Fatalf("stream.RecvMsg() = %v , want <nil>", err)
3848+
}
3849+
3850+
if err = stream.RecvMsg(resp); err != io.EOF {
3851+
t.Fatalf("stream.RecvMsg() = %v, want error %s", err, io.EOF)
3852+
}
3853+
}
3854+
38153855
func (s) TestExceedMaxStreamsLimit(t *testing.T) {
38163856
for _, e := range listTestEnv() {
38173857
testExceedMaxStreamsLimit(t, e)

0 commit comments

Comments
 (0)