public void TestSetup() { request = Request.Get("http://foo/bar"); response = new Response(ResponseCode.Ok); parameters = RequestParameters.Empty.WithConnectionTimeout(1.Seconds()); var budget = Budget.WithRemaining(5.Seconds()); transport = Substitute.For <ITransport>(); transport.SendAsync(Arg.Any <Request>(), Arg.Any <TimeSpan?>(), Arg.Any <TimeSpan>(), Arg.Any <CancellationToken>()).ReturnsTask(_ => response); context = Substitute.For <IRequestContext>(); context.Request.Returns(_ => request); context.Budget.Returns(_ => budget); context.Transport.Returns(_ => transport); context.Parameters.Returns(_ => parameters); responseCriteria = new List <IResponseCriterion>(); responseClassifier = Substitute.For <IResponseClassifier>(); responseClassifier.Decide(Arg.Any <Response>(), Arg.Any <IList <IResponseCriterion> >()).Returns(ResponseVerdict.Accept); resultStatusSelector = Substitute.For <IClusterResultStatusSelector>(); resultStatusSelector.Select(null, null).ReturnsForAnyArgs(ClusterResultStatus.Success); module = new AbsoluteUrlSenderModule(responseClassifier, responseCriteria, resultStatusSelector); }
public void SetUp() { replica = new Uri("http://replica/"); relativeRequest = Request.Get("foo/bar"); absoluteRequest = Request.Get("http://replica/foo/bar"); response = new Response(ResponseCode.Ok); timeout = 5.Seconds(); log = Substitute.For <ILog>(); log .When(l => l.Log(Arg.Any <LogEvent>())) .Do(info => new ConsoleLog().Log(info.Arg <LogEvent>())); configuration = Substitute.For <IClusterClientConfiguration>(); configuration.ResponseCriteria.Returns(new List <IResponseCriterion> { Substitute.For <IResponseCriterion>() }); configuration.LogReplicaRequests.Returns(true); configuration.LogReplicaResults.Returns(true); configuration.ReplicaOrdering.Returns(Substitute.For <IReplicaOrdering>()); configuration.Log.Returns(log); storageProvider = Substitute.For <IReplicaStorageProvider>(); responseClassifier = Substitute.For <IResponseClassifier>(); responseClassifier.Decide(Arg.Any <Response>(), Arg.Any <IList <IResponseCriterion> >()).Returns(ResponseVerdict.Accept); requestConverter = Substitute.For <IRequestConverter>(); requestConverter.TryConvertToAbsolute(relativeRequest, replica).Returns(_ => absoluteRequest); transport = Substitute.For <ITransport>(); transport.SendAsync(Arg.Any <Request>(), Arg.Any <TimeSpan>(), Arg.Any <CancellationToken>()).Returns(_ => response); sender = new RequestSender(configuration, storageProvider, responseClassifier, requestConverter, transport); }
public void Setup() { request = Request.Get("http://foo/bar"); response = new Response(ResponseCode.Ok); var budget = Budget.WithRemaining(5.Seconds()); context = Substitute.For <IRequestContext>(); context.Request.Returns(_ => request); context.Budget.Returns(_ => budget); transport = Substitute.For <ITransport>(); transport.SendAsync(Arg.Any <Request>(), Arg.Any <TimeSpan>(), Arg.Any <CancellationToken>()).ReturnsTask(_ => response); responseCriteria = new List <IResponseCriterion>(); responseClassifier = Substitute.For <IResponseClassifier>(); responseClassifier.Decide(Arg.Any <Response>(), Arg.Any <IList <IResponseCriterion> >()).Returns(ResponseVerdict.Accept); resultStatusSelector = Substitute.For <IClusterResultStatusSelector>(); // ReSharper disable AssignNullToNotNullAttribute resultStatusSelector.Select(null, null).ReturnsForAnyArgs(ClusterResultStatus.Success); // ReSharper restore AssignNullToNotNullAttribute module = new AbsoluteUrlSenderModule(transport, responseClassifier, responseCriteria, resultStatusSelector); }
public AbsoluteUrlSenderModule( IResponseClassifier responseClassifier, IList <IResponseCriterion> responseCriteria, IClusterResultStatusSelector resultStatusSelector) { this.responseClassifier = responseClassifier; this.responseCriteria = responseCriteria; this.resultStatusSelector = resultStatusSelector; }
public RequestSender( IClusterClientConfiguration configuration, IReplicaStorageProvider storageProvider, IResponseClassifier responseClassifier, IRequestConverter requestConverter) { this.configuration = configuration; this.storageProvider = storageProvider; this.responseClassifier = responseClassifier; this.requestConverter = requestConverter; }