/// <inheritdoc cref="IErrorPolicyChainBuilder.ThenSkip" /> public IErrorPolicyChainBuilder ThenSkip(Action <SkipMessageErrorPolicy>?policyConfigurationAction = null) { var policy = new SkipMessageErrorPolicy(); policyConfigurationAction?.Invoke(policy); _errorPolicies.Add(policy); return(this); }
public async Task HandleErrorAsync_Whatever_TrueReturned() { var policy = new SkipMessageErrorPolicy().Build(_serviceProvider); var envelope = new InboundEnvelope( "hey oh!", new MemoryStream(), null, new TestOffset(), TestConsumerEndpoint.GetDefault(), TestConsumerEndpoint.GetDefault().Name); var result = await policy.HandleErrorAsync( ConsumerPipelineContextHelper.CreateSubstitute(envelope, _serviceProvider), new InvalidOperationException("test")); result.Should().BeTrue(); }
public async Task HandleError_Whatever_ConsumerCommittedButTransactionAborted() { var policy = new SkipMessageErrorPolicy().Build(_serviceProvider); var envelope = new InboundEnvelope( "hey oh!", new MemoryStream(Encoding.UTF8.GetBytes("hey oh!")), null, new TestOffset(), new TestConsumerEndpoint("source-endpoint"), "source-endpoint"); var transactionManager = Substitute.For <IConsumerTransactionManager>(); await policy.HandleErrorAsync( ConsumerPipelineContextHelper.CreateSubstitute(envelope, _serviceProvider, transactionManager), new InvalidOperationException("test")); await transactionManager.Received(1).RollbackAsync(Arg.Any <InvalidOperationException>(), true); }
public SkipMessageErrorPolicyTests() { _policy = new SkipMessageErrorPolicy(null, new NullLogger <SkipMessageErrorPolicy>(), new MessageLogger(new MessageKeyProvider(new[] { new DefaultPropertiesMessageKeyProvider() }))); }
public SkipMessageErrorPolicyTests() { _policy = new SkipMessageErrorPolicy(null, new NullLogger <SkipMessageErrorPolicy>(), new MessageLogger()); }