public void TestSetup() { replica1 = new Uri("http://replica"); replica2 = new Uri("http://replica"); request = Request.Get("foo/bar"); oneReplicaResult = new ClusterResult( ClusterResultStatus.ReplicasExhausted, new[] { new ReplicaResult(replica1, Responses.Timeout, ResponseVerdict.Reject, TimeSpan.Zero) }, null, request); twoReplicasResult = new ClusterResult( ClusterResultStatus.ReplicasExhausted, new[] { new ReplicaResult(replica1, Responses.Timeout, ResponseVerdict.Reject, TimeSpan.Zero), new ReplicaResult(replica2, Responses.Timeout, ResponseVerdict.Reject, TimeSpan.Zero) }, null, request); context = Substitute.For <IRequestContext>(); context.Log.Returns(new SilentLog()); context.MaximumReplicasToUse.Returns(int.MaxValue); options = new ReplicaBudgetingOptions(Guid.NewGuid().ToString(), 1, MinimumRequests, CriticalRatio); module = new ReplicaBudgetingModule(options); }
/// <summary> /// Drops all ClusterClient caches. It also drops cache of <see cref="ReplicaBudgetingModule"/> and <see cref="AdaptiveThrottlingModule"/>. /// </summary> public static void Clean() { ReplicaBudgetingModule.ClearCache(); AdaptiveThrottlingModule.ClearCache(); ReplicaStorageContainer <int> .Shared.Clear(); ReplicaStorageContainer <long> .Shared.Clear(); ReplicaStorageContainer <bool> .Shared.Clear(); ReplicaStorageContainer <double> .Shared.Clear(); ReplicaStorageContainer <DateTime> .Shared.Clear(); ReplicaStorageContainer <HealthWithDecay> .Shared.Clear(); }