public void TimeoutProvider_Ok() { var provider = new TimeoutProvider(); IPipeline <ClientActionContext> pipeline = ClientConfiguration.ProxyBuilder().Url("http://localhost:8080").Timeout(provider) .BuildPipeline(); Assert.Equal(provider, pipeline.Find <CommunicationMiddleware>().TimeoutProvider); }
public void TestSetup() { request = Request.Get("http://foo/bar"); cancellation = new CancellationTokenSource(); provider = new TimeoutProvider(50.Milliseconds(), new ConsoleLog()); calledSender = false; senderResponse = Responses.Ok; senderToken = default; }
/// <inheritdoc cref="NativeTransport" /> public NativeTransport([NotNull] NativeTransportSettings settings, [NotNull] ILog log) { this.settings = settings ?? throw new ArgumentNullException(nameof(settings)); this.log = log ?? throw new ArgumentNullException(nameof(log)); clientProvider = new HttpClientProvider(settings, this.log); timeoutProvider = new TimeoutProvider(settings.RequestAbortTimeout, this.log); errorHandler = new ErrorHandler(this.log); bodyReader = new BodyReader( settings.BufferFactory, len => settings.UseResponseStreaming(len), () => settings.MaxResponseBodySize, this.log); }
private static MessagingBus SetupBus(OrderView orderView) { IPersistanceStore persitenceStore = new MemoryPersistance(); IDomainEventQuery domainEventQuery = new InProcPersistedDomainEventQuery(persitenceStore); IDomainEventStore domainEventStore = new PyxisDomainEventStore( persitenceStore, domainEventQuery); IDomainResultStoreQuery storeQuery = new InProcDomainResultStoreQuery(persitenceStore); IDomainResultStore resultStore = new DomainResultPersistanceStore( persitenceStore, storeQuery); ITimeoutProvider timeoutProvider = new TimeoutProvider(1000); IResultPublisher resultPublisher = new ResultPublisher( resultStore, timeoutProvider); IResultAwaiter resultAwaiter = new ResultAwaiter( resultStore, timeoutProvider); IList <IHandleCommand> commandHanlders = new List <IHandleCommand>(); IList <IHandleEvent> eventHandlers = new List <IHandleEvent>(); IMessageDispatcher <ICommand> commandDispatcher = new CqrsMessagingHandler( resultPublisher, commandHanlders, eventHandlers); ICommandQueue commandQueue = new InProcCommandQueue(commandDispatcher); MessagingBus bus = new MessagingBus( commandQueue, resultPublisher, resultAwaiter); IDomainRepository domainRepository = new DomainRepository( domainEventStore, bus); ISession session = new Session(domainRepository); commandHanlders.Add(new OrderCommandHandler(session)); eventHandlers.Add(new OrderEventHandler(orderView)); return(bus); }