< Summary - CoreWCF Coverage — PR #1766

Information
Class: CoreWCF.Queue.Common.QueueFetchMessage
Assembly: CoreWCF.Queue
File(s): /home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.Queue/src/CoreWCF/Queue/Common/QueueFetchMessage.cs
Line coverage
100%
Covered lines: 21
Uncovered lines: 0
Coverable lines: 21
Total lines: 50
Line coverage: 100%
Branch coverage
100%
Covered branches: 4
Total branches: 4
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Cyclomatic complexity NPath complexity Sequence coverage
.ctor(...)100%11100%
InvokeAsync()100%44100%

File(s)

/home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.Queue/src/CoreWCF/Queue/Common/QueueFetchMessage.cs

#LineLine coverage
 1// Licensed to the .NET Foundation under one or more agreements.
 2// The .NET Foundation licenses this file to you under the MIT license.
 3
 4using System;
 5using System.Buffers;
 6using System.IO;
 7using System.Threading.Tasks;
 8using CoreWCF.Queue.Common.Configuration;
 9
 10namespace CoreWCF.Queue.Common
 11{
 12    internal class QueueFetchMessage
 13    {
 14        private readonly QueueMessageDispatcherDelegate _next;
 15
 5016        public QueueFetchMessage(QueueMessageDispatcherDelegate next)
 17        {
 5018            _next = next;
 5019        }
 20
 21        public async Task InvokeAsync(QueueMessageContext queueMessageContext)
 22        {
 23            try
 24            {
 171825                var pipeReader = queueMessageContext.QueueMessageReader;
 171826                var readResult = await pipeReader.ReadAsync();
 171827                var memStream = new MemoryStream(readResult.Buffer.ToArray());
 171828                var encoder = queueMessageContext.QueueTransportContext.MessageEncoderFactory.Encoder;
 171829                var maxReceivedMessageSize =
 171830                    queueMessageContext.QueueTransportContext.QueueBindingElement.MaxReceivedMessageSize;
 171831                var message = await encoder.ReadMessageAsync(memStream, (int)maxReceivedMessageSize);
 170332                if (message.Headers.To == null)
 33                {
 123034                    message.Headers.To = queueMessageContext.LocalAddress.Uri;
 35                }
 482236                foreach (var property in queueMessageContext.Properties)
 37                {
 70838                    message.Properties.Add(property.Key, property.Value);
 39                }
 40
 170341                queueMessageContext.SetRequestMessage(message);
 170342            }
 1543            catch (Exception e)
 44            {
 1545                queueMessageContext.SetRequestMessage(e);
 1546            }
 171847            await _next(queueMessageContext);
 171848        }
 49    }
 50}