private static BaseDelegatingMessageHandler <string> CreateBaseDelegatingMessageHandler( INoOutputService <string>?service = null) { var loggerPrepare = new Mock <ILogger <PrepareDelegatingMessageHandler <string> > >(); service ??= new Mock <INoOutputService <string> >().Object; return(new BaseDelegatingMessageHandler <string>( new PrepareDelegatingMessageHandler <string>(loggerPrepare.Object), service, new List <DelegatingMessageHandler <string> >())); }
// ReSharper disable once SuggestBaseTypeForParameter public QueuedGenericService( ILogger <QueuedGenericService <TInput> > logger, IOptions <QueuedGenericServiceOptions>?options, IHostApplicationLifetime hostApplicationLifetime, IBackgroundTaskQueue <MotorCloudEvent <TInput> > queue, BaseDelegatingMessageHandler <TInput> rootService) { _logger = logger; _options = options?.Value ?? new QueuedGenericServiceOptions(); _hostApplicationLifetime = hostApplicationLifetime; _queue = queue; _rootService = rootService; }
// ReSharper disable once SuggestBaseTypeForParameter public BaseDelegatingMessageHandler(PrepareDelegatingMessageHandler <TInput> prepare, INoOutputService <TInput> service, IEnumerable <DelegatingMessageHandler <TInput> > delegatingMessageHandlers) { DelegatingMessageHandler <TInput> currentDelegatingMessageHandler = this; foreach (var delegatingMessageHandler in delegatingMessageHandlers) { currentDelegatingMessageHandler.InnerService = delegatingMessageHandler; currentDelegatingMessageHandler = delegatingMessageHandler; } prepare.InnerService = service; currentDelegatingMessageHandler.InnerService = prepare; }
private static QueuedGenericService <string> CreateQueuedGenericService( INoOutputService <string>?service = null, IBackgroundTaskQueue <MotorCloudEvent <string> >?backgroundTaskQueue = null, IHostApplicationLifetime?hostApplicationLifetime = null, QueuedGenericServiceOptions?config = null) { var logger = new Mock <ILogger <QueuedGenericService <string> > >(); hostApplicationLifetime ??= new Mock <IHostApplicationLifetime>().Object; backgroundTaskQueue ??= CreateQueue(); service ??= new Mock <INoOutputService <string> >().Object; var options = Options.Create(config ?? new QueuedGenericServiceOptions()); var baseDelegatingMessageHandler = CreateBaseDelegatingMessageHandler(service); return(new QueuedGenericService <string>( logger.Object, options, hostApplicationLifetime, backgroundTaskQueue, baseDelegatingMessageHandler)); }