public async Task DuplexStreaming_Exception() { // Arrange using (var call = _client.DuplexStream(new Metadata() { new Metadata.Entry("MetadataKey", "value") })) { // Act var responseReaderTask = Task.Run(async() => { while (await call.ResponseStream.MoveNext()) { var result = call.ResponseStream.Current; } }); await call.RequestStream.WriteAsync(new Request() { Message = "this is request message" }); await call.RequestStream.CompleteAsync(); // Assert Assert.ThrowsAsync <RpcException>(async() => { await responseReaderTask; }); } }