Esempio n. 1
0
        public async Task WhenMessageSucceeds_ThenCircuitRemainsClosed()
        {
            _mockHandleMessageBehaviour.Action = () => { };

            var action = new Func <Task <int> >(async() =>
            {
                await _messageProcessingPipeline.Invoke(new MessageContext());
                return(1);
            });

            using (var cancellationTokenSource = new CancellationTokenSource())
            {
                await _batchProcessingBehaviourPipeline.Invoke(action, cancellationTokenSource);
            }

            _events.DidNotReceiveWithAnyArgs().Broken(null, null);
        }
 public Task ProcessBatch(IMessageReceiver messageReceiver, CancellationTokenSource tokenSource)
 {
     return(_batchProcessingBehaviourPipeline.Invoke(async() =>
     {
         var batch = _batchFactory.Create();
         await batch.ReceiveMessages(messageReceiver).ConfigureAwait(false);
         if (batch.HasMessages)
         {
             _log.LogDebug($"Message collection processing {batch.MessageCount} messages");
             await batch.ProcessMessages().ConfigureAwait(false);
         }
     }, tokenSource));
 }