public async Task SayHelloBidirectionalStreamingTest() { var svc = new TestServices(NullLoggerFactory.Instance); var cts = new CancellationTokenSource(); var callContext = UnitTestServiceContext.Create(cancellationToken: cts.Token); var requestStream = new AsyncStreamRequestReader <HelloRequest>(callContext); var replyStream = new AsyncStreamRequestWriter <HelloReply>(callContext); var call = svc.SayHelloBidirectionalStreaming(requestStream, replyStream, callContext); requestStream.AddMessage(new HelloRequest() { Name = "Test1" }); requestStream.AddMessage(new HelloRequest() { Name = "Test2" }); requestStream.AddMessage(new HelloRequest() { Name = "Test3" }); requestStream.Complete(); await call; replyStream.ChannelWriter.Complete(); await foreach (var item in replyStream.ChannelReader.ReadAllAsync()) { _testOutputHelper.WriteLine(item.Message); } }
public async Task SayHelloUnaryTest() { var services = new TestServices(NullLoggerFactory.Instance); var request = new HelloRequest() { Name = "UnitTest" }; var sayHelloUnary = await services.SayHelloUnary(request, UnitTestServiceContext.Create()); Assert.Equal(sayHelloUnary.Message, "Hello " + request.Name); }
public async Task SayHelloServerStreamingTest() { var svc = new TestServices(NullLoggerFactory.Instance); var cts = new CancellationTokenSource(); var callContext = UnitTestServiceContext.Create(cancellationToken: cts.Token); var requestStream = new AsyncStreamRequestReader <HelloRequest>(callContext); var request = new HelloRequest() { Name = "Message" }; var streamWriter = new AsyncStreamRequestWriter <HelloReply>(callContext); svc.SayHelloServerStreaming(request, streamWriter, callContext); cts.Cancel(); await Task.Delay(1000); streamWriter.ChannelWriter.Complete(); await foreach (var item in streamWriter.ChannelReader.ReadAllAsync()) { _testOutputHelper.WriteLine(item.Message); } }
public async Task SayHelloClientStreamingTest() { var svc = new TestServices(NullLoggerFactory.Instance); var cts = new CancellationTokenSource(); var callContext = UnitTestServiceContext.Create(cancellationToken: cts.Token); var requestStream = new AsyncStreamRequestReader <HelloRequest>(callContext); var sayHelloClientStreaming = svc.SayHelloClientStreaming(requestStream, callContext); requestStream.AddMessage(new HelloRequest { Name = "James" }); requestStream.AddMessage(new HelloRequest { Name = "Jo" }); requestStream.AddMessage(new HelloRequest { Name = "Lee" }); requestStream.Complete(); // Assert var response = await sayHelloClientStreaming; Assert.Equal("James,Jo,Lee", response.Message); }