Tests the behavior of client for server-side streaming RPC when client sends zero request messages.
(t *testing.T)
| 4163 | |
| 4164 | // Tests the behavior of client for server-side streaming RPC when client sends zero request messages. |
| 4165 | func (s) TestServerStreaming_ClientSendsZeroRequests(t *testing.T) { |
| 4166 | t.Skip("blocked on i/7286") |
| 4167 | // The initial call to recvMsg made by the generated code, will return the error. |
| 4168 | ss := stubserver.StubServer{} |
| 4169 | if err := ss.Start(nil); err != nil { |
| 4170 | t.Fatal("Error starting server:", err) |
| 4171 | } |
| 4172 | defer ss.Stop() |
| 4173 | |
| 4174 | ctx, cancel := context.WithTimeout(context.Background(), defaultTestTimeout) |
| 4175 | defer cancel() |
| 4176 | cc, err := grpc.NewClient(ss.Address, grpc.WithTransportCredentials(local.NewCredentials())) |
| 4177 | if err != nil { |
| 4178 | t.Fatalf("grpc.NewClient(%q) failed unexpectedly: %v", ss.Address, err) |
| 4179 | } |
| 4180 | defer cc.Close() |
| 4181 | |
| 4182 | desc := &grpc.StreamDesc{ |
| 4183 | StreamName: "StreamingOutputCall", |
| 4184 | ServerStreams: true, |
| 4185 | ClientStreams: false, |
| 4186 | } |
| 4187 | |
| 4188 | stream, err := cc.NewStream(ctx, desc, "/grpc.testing.TestService/StreamingOutputCall") |
| 4189 | if err != nil { |
| 4190 | t.Fatalf("cc.NewStream() failed unexpectedly: %v", err) |
| 4191 | } |
| 4192 | |
| 4193 | if err := stream.CloseSend(); status.Code(err) != codes.Internal { |
| 4194 | t.Errorf("stream.CloseSend() = %v, want error %v", status.Code(err), codes.Internal) |
| 4195 | } |
| 4196 | } |
| 4197 | |
| 4198 | // Tests that a client receives a cardinality violation error for client-streaming |
| 4199 | // RPCs if the server calls SendMsg() multiple times. |
nothing calls this directly
no test coverage detected