public ErrorFilter WithFilter(IErrorFilter filter) { if (filter == null) { throw new ArgumentNullException("filter"); } _filters.Add(filter); return(this); }
public FileErrorLogger( IErrorFilter errorFilter, IExceptionSerializer exceptionSerializer, ILogFilePathGenerator logFilePathGenerator, IFileWriter fileWriter) { _errorFilter = errorFilter; _exceptionSerializer = exceptionSerializer; _logFilePathGenerator = logFilePathGenerator; _fileWriter = fileWriter; }
public NybusHostConfigurationFactory(IEnumerable <IErrorFilterProvider> errorFilterProviders, DiscardErrorFilter fallbackErrorFilter) { _fallbackErrorFilter = fallbackErrorFilter ?? throw new ArgumentNullException(nameof(fallbackErrorFilter)); _errorFilterProvidersByName = CreateDictionary(errorFilterProviders ?? throw new ArgumentNullException(nameof(errorFilterProviders))); }
public async Task ExecuteEventHandlerAsync_executes_error_filter_on_fail([Frozen] IServiceProvider serviceProvider, [Frozen] IBusEngine engine, [Frozen] INybusConfiguration configuration, NybusHost sut, IDispatcher dispatcher, EventMessage <FirstTestEvent> eventMessage, IServiceScopeFactory scopeFactory, IEventHandler <FirstTestEvent> handler, Exception error, IErrorFilter errorFilter) { configuration.EventErrorFilters = new[] { errorFilter }; var handlerType = handler.GetType(); var context = new NybusEventContext <FirstTestEvent>(eventMessage); Mock.Get(serviceProvider).Setup(p => p.GetService(typeof(IServiceScopeFactory))).Returns(scopeFactory); Mock.Get(serviceProvider).Setup(p => p.GetService(handlerType)).Returns(handler); Mock.Get(handler).Setup(p => p.HandleAsync(It.IsAny <IDispatcher>(), It.IsAny <IEventContext <FirstTestEvent> >())).Throws(error); await sut.ExecuteEventHandlerAsync(dispatcher, context, handlerType); Mock.Get(errorFilter).Verify(p => p.HandleErrorAsync(context, error, It.IsAny <EventErrorDelegate <FirstTestEvent> >())); }