Esempio n. 1
0
        public async Task AcknowledgeAndRetry_RetriedAreStillEnqueued()
        {
            for (var i = 0; i < 5; i++)
            {
                await _queue.WriteAsync(
                    _sampleOutboundEnvelope.Message,
                    _sampleOutboundEnvelope.RawMessage.ReadAll(),
                    _sampleOutboundEnvelope.Headers,
                    _sampleOutboundEnvelope.Endpoint.Name,
                    _sampleOutboundEnvelope.ActualEndpointName);
            }

            await _queue.CommitAsync();

            var result = (await _queue.ReadAsync(5)).ToArray();

            await _queue.AcknowledgeAsync(result[0]);

            await _queue.RetryAsync(result[1]);

            await _queue.AcknowledgeAsync(result[2]);

            await _queue.RetryAsync(result[3]);

            await _queue.AcknowledgeAsync(result[4]);

            (await _queue.GetLengthAsync()).Should().Be(2);
        }