/// <inheritdoc cref="IErrorPolicyChainBuilder.ThenSkip" />
        public IErrorPolicyChainBuilder ThenSkip(Action <SkipMessageErrorPolicy>?policyConfigurationAction = null)
        {
            var policy = new SkipMessageErrorPolicy();

            policyConfigurationAction?.Invoke(policy);
            _errorPolicies.Add(policy);
            return(this);
        }
Beispiel #2
0
        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();
        }
Beispiel #3
0
        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() })));
 }
Beispiel #5
0
 public SkipMessageErrorPolicyTests()
 {
     _policy = new SkipMessageErrorPolicy(null, new NullLogger <SkipMessageErrorPolicy>(), new MessageLogger());
 }