public void OnError_is_called_when_etl_operation_returns_errors() { var exception = new Exception("Whoops!"); var errorReturningOp = new ActionEtlOperation(ctx => false); errorReturningOp.WithErrors(new EtlOperationError(errorReturningOp, exception)); var errorHandlerCalled = false; var pipeline = EtlPipeline.Create(settings => settings .OnError((ctx, errors) => { errorHandlerCalled = true; errors.Count().Should().Be(1); var err = errors.Single(); err.Exception.Should().Be(exception); err.SourceOperation.Should().Be(errorReturningOp); err.HasSourceItem.Should().BeFalse(); err.SourceNode.Should().BeNull(); return(true); }) ) .Run(errorReturningOp) .Execute(); errorHandlerCalled.Should().BeTrue(); }