Beispiel #1
0
        public void Should_not_retry_if_request_body_stream_has_already_been_used()
        {
            var content = new SingleUseStreamContent(Stream.Null, 100);

            content.Stream.GetHashCode();

            context.Request.Returns(request.WithContent(content));

            Execute().Should().BeSameAs(result);

            nextModuleCalls.Should().Be(1);
        }
        public void Should_not_make_any_requests_when_request_body_stream_is_already_used()
        {
            var content = new SingleUseStreamContent(Stream.Null, 100);

            content.Stream.GetHashCode();

            request = Request.Post("foo/bar").WithContent(content);

            Send(Budget.Infinite);

            sender.ReceivedCalls().Should().BeEmpty();
        }
        public void Should_not_make_retry_requests_when_request_body_stream_is_already_used()
        {
            var content = new SingleUseStreamContent(Stream.Null, 100);

            request = request.WithContent(content);

            var task = strategy.SendAsync(request, parameters, sender, Budget.Infinite, replicas, replicas.Length, token);

            content.Stream.GetHashCode();

            foreach (var replica in replicas)
            {
                CompleteRequest(replica, ResponseVerdict.Reject);
            }

            task.IsCompleted.Should().BeTrue();

            sender.ReceivedCalls().Should().HaveCount(3);
        }
Beispiel #4
0
        public void Should_stop_when_request_stream_gets_used()
        {
            var content = new SingleUseStreamContent(Stream.Null, 100);

            request = Request.Post("foo/bar").WithContent(content);

            var task = strategy.SendAsync(request, parameters, sender, Budget.Infinite, replicas, replicas.Length, token);

            content.Stream.GetHashCode();

            CompleteForkingDelay();

            task.IsCompleted.Should().BeFalse();

            CompleteRequest(replicas.First(), ResponseVerdict.Reject);

            task.IsCompleted.Should().BeTrue();

            sender.ReceivedCalls().Should().HaveCount(1);
            delaysProvider.ReceivedCalls().Should().HaveCount(1);
            delaysPlanner.ReceivedCalls().Should().HaveCount(1);
        }
 public void TestSetup()
 {
     content = new SingleUseStreamContent(Stream.Null, 123);
 }