Esempio n. 1
0
        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; });
            }
        }