public void Should_send_request_to_first_replica_with_correct_parameters() { var token = new CancellationTokenSource().Token; strategy.SendAsync(request, parameters, sender, budget, replicas, replicas.Length, token).Wait(); sender.Received().SendToReplicaAsync(replicas[0], request, null, budget.Remaining, token); }
public void Should_fire_initial_requests_with_whole_remaining_time_budget() { DropSynchronizationContext(); strategy.SendAsync(request, sender, Budget.WithRemaining(5.Seconds()), replicas, replicas.Length, token); sender.Received(1).SendToReplicaAsync(replicas[0], request, 5.Seconds(), Arg.Any <CancellationToken>()); sender.Received(1).SendToReplicaAsync(replicas[1], request, 5.Seconds(), Arg.Any <CancellationToken>()); sender.Received(1).SendToReplicaAsync(replicas[2], request, 5.Seconds(), Arg.Any <CancellationToken>()); }
public void Should_send_request_to_each_replica_with_correct_timeout() { Send(Budget.Infinite); sender.ReceivedCalls().Should().HaveCount(3); sender.Received(1).SendToReplicaAsync(replica1, request, 1.Seconds(), token); sender.Received(1).SendToReplicaAsync(replica2, request, 2.Seconds(), token); sender.Received(1).SendToReplicaAsync(replica3, request, 3.Seconds(), token); }
public void Should_pass_cancellation_token_to_base_request_sender() { var tokenSource = new CancellationTokenSource(); CompleteSending(); contextualSender.SendToReplicaAsync(replica, request, timeout, tokenSource.Token).GetAwaiter().GetResult(); baseSender.Received().SendToReplicaAsync(replica, request, timeout, tokenSource.Token); }
public void Should_fire_initial_requests_with_whole_remaining_time_budget() { strategy.SendAsync(request, parameters, sender, Budget.WithRemaining(5.Seconds()), replicas, replicas.Length, token); sender.Received(1).SendToReplicaAsync(replicas[0], request, Arg.Any <TimeSpan?>(), 5.Seconds(), Arg.Any <CancellationToken>()); sender.Received(1).SendToReplicaAsync(replicas[1], request, Arg.Any <TimeSpan?>(), 5.Seconds(), Arg.Any <CancellationToken>()); sender.Received(1).SendToReplicaAsync(replicas[2], request, Arg.Any <TimeSpan?>(), 5.Seconds(), Arg.Any <CancellationToken>()); }
public void Should_fire_initial_request_with_correct_parameters() { strategy.SendAsync(request, parameters, sender, Budget.WithRemaining(5.Seconds()), replicas, replicas.Length, token); sender.Received(1).SendToReplicaAsync(replicas[0], request, parameters.ConnectionTimeout, 5.Seconds(), Arg.Any <CancellationToken>()); }