Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
 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);
 }