public void ToCallOptions_CallTimingNull() { var mockClock = new Mock <IClock>(); CallSettings callSettings = CallSettings.FromCallTiming(null); var options = callSettings.ToCallOptions(mockClock.Object); Assert.Null(options.Deadline); mockClock.Verify(c => c.GetCurrentDateTimeUtc(), Times.Never); }
public void ToCallOptions_CallTimingExpirationTimeout() { var clock = new FakeClock(); var timeout = TimeSpan.FromSeconds(1); CallSettings callSettings = CallSettings.FromCallTiming(CallTiming.FromExpiration(Expiration.FromTimeout(timeout))); var options = callSettings.ToCallOptions(clock); // Value should be exact, as we control time precisely. Assert.Equal(options.Deadline.Value, clock.GetCurrentDateTimeUtc() + timeout); }
public void ToCallOptions_ExpirationNone() { var deadline = new DateTime(2015, 6, 19, 5, 2, 3, DateTimeKind.Utc); var mockClock = new Mock <IClock>(); CallSettings callSettings = CallSettings.FromExpiration(Expiration.None); var options = callSettings.ToCallOptions(mockClock.Object); Assert.Null(options.Deadline); mockClock.Verify(c => c.GetCurrentDateTimeUtc(), Times.Never); }
public void ToCallOptions_CallTimingExpirationDeadline() { var deadline = new DateTime(2015, 6, 19, 5, 2, 3, DateTimeKind.Utc); var mockClock = new Mock <IClock>(); CallSettings callSettings = CallSettings.FromCallTiming(CallTiming.FromExpiration(Expiration.FromDeadline(deadline))); var options = callSettings.ToCallOptions(mockClock.Object); // Value should be exact, as we control time precisely. Assert.Equal(options.Deadline.Value, deadline); mockClock.Verify(c => c.GetCurrentDateTimeUtc(), Times.Never); }
public void ToCallOptions_NoExpiration() { var mockClock = new Mock <IClock>(); CallSettings callSettings = CallSettings.CancellationTokenNone; Assert.Null(callSettings.Expiration); var options = callSettings.ToCallOptions(mockClock.Object); Assert.Null(options.Deadline); mockClock.Verify(c => c.GetCurrentDateTimeUtc(), Times.Never); }
public void ToCallOptions_All() { var mockClock = new Mock <IClock>(); var callSettings = new CallSettings ( headerMutation: metadata => metadata.Add(new Metadata.Entry("1", "one")), timing: CallTiming.FromExpiration(Expiration.None), cancellationToken: new CancellationTokenSource().Token, writeOptions: new WriteOptions(WriteFlags.NoCompress), propagationToken: null, // Not possible to create/mock credentials: null // Not possible to create/mock ); var options = callSettings.ToCallOptions(mockClock.Object); Assert.Equal(1, options.Headers.Count); Assert.Equal("[Entry: key=1, value=one]", options.Headers[0].ToString()); Assert.Null(options.Deadline); Assert.Equal(callSettings.CancellationToken, options.CancellationToken); Assert.Same(callSettings.WriteOptions, options.WriteOptions); }
public void ToCallOptions_All() { var mockClock = new Mock <IClock>(); var callSettings = new CallSettings ( headerMutation: metadata => metadata.Add(new Metadata.Entry("1", "one")), expiration: Expiration.None, // The retry settings aren't used in the call options, but we'll include them anyway. retry: new RetrySettings(5, TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(5), 2.0, RetrySettings.FilterForStatusCodes(), RetrySettings.RandomJitter), cancellationToken: new CancellationTokenSource().Token, writeOptions: new WriteOptions(WriteFlags.NoCompress), propagationToken: null // Not possible to create/mock ); var options = callSettings.ToCallOptions(mockClock.Object); Assert.Equal(1, options.Headers.Count); Assert.Equal("[Entry: key=1, value=one]", options.Headers[0].ToString()); Assert.Null(options.Deadline); Assert.Equal(callSettings.CancellationToken, options.CancellationToken); Assert.Same(callSettings.WriteOptions, options.WriteOptions); }
public void ToCallOptions_All() { var mockClock = new Mock<IClock>(); var callSettings = new CallSettings ( headerMutation: metadata => metadata.Add(new Metadata.Entry("1", "one")), timing: CallTiming.FromExpiration(Expiration.None), cancellationToken: new CancellationTokenSource().Token, writeOptions: new WriteOptions(WriteFlags.NoCompress), propagationToken: null, // Not possible to create/mock credentials: null // Not possible to create/mock ); var options = callSettings.ToCallOptions(null, mockClock.Object); Assert.Equal(1, options.Headers.Count); Assert.Equal("[Entry: key=1, value=one]", options.Headers[0].ToString()); Assert.Null(options.Deadline); Assert.Equal(callSettings.CancellationToken, options.CancellationToken); Assert.Same(callSettings.WriteOptions, options.WriteOptions); }