Beispiel #1
0
            public AsyncServerStreamingCall <SimpleResponse> ServerStreamingMethodSync(SimpleRequest request, CallSettings callSettings)
            {
                CallTimes.Add(_scheduler.Clock.GetCurrentDateTimeUtc());
                CallSettingsReceived.Add(callSettings);
                var responseStream = new AsyncStreamReader <SimpleResponse>(new SimpleResponse {
                    Name = request.Name
                });
                var responseHeaders = Task.Run(async() =>
                {
                    await _scheduler.Delay(_callDuration, callSettings.CancellationToken.GetValueOrDefault());
                    if (_failuresToReturn > 0)
                    {
                        _failuresToReturn--;
                        throw new RpcException(new Status(_failureCode, "Bang"));
                    }
                    return(Metadata.Empty);
                });
                var response = new AsyncServerStreamingCall <SimpleResponse>(responseStream, responseHeaders, null, null, null);

                return(response);
            }
Beispiel #2
0
 public void AssertDeadlines(params DateTime[] times)
 {
     // Note that this effectively asserts we always end up with a CallSettings with a deadline.
     Assert.Equal(times, CallSettingsReceived.Select(cs => cs.Timing.Expiration.Deadline.Value).ToArray());
 }