< Summary

Class:Azure.Core.TestFramework.MockRequest
Assembly:Azure.Core.TestFramework
File(s):C:\Git\azure-sdk-for-net\sdk\core\Azure.Core.TestFramework\src\MockRequest.cs
Covered lines:30
Uncovered lines:1
Coverable lines:31
Total lines:94
Line coverage:96.7% (30 of 31)
Covered branches:8
Total branches:8
Branch coverage:100% (8 of 8)

Metrics

MethodCyclomatic complexity Line coverage Branch coverage
.ctor()-100%100%
get_IsDisposed()-100%100%
get_Content()-100%100%
set_Content(...)-100%100%
AddHeader(...)-100%100%
TryGetHeader(...)-100%100%
TryGetHeaderValues(...)-100%100%
ContainsHeader(...)-100%100%
RemoveHeader(...)-100%100%
EnumerateHeaders()-100%100%
JoinHeaderValue(...)-100%100%
get_ClientRequestId()-100%100%
ToString()-0%100%
Dispose()-100%100%

File(s)

C:\Git\azure-sdk-for-net\sdk\core\Azure.Core.TestFramework\src\MockRequest.cs

#LineLine coverage
 1// Copyright (c) Microsoft Corporation. All rights reserved.
 2// Licensed under the MIT License.
 3
 4using System;
 5using System.Collections.Generic;
 6using System.Linq;
 7
 8namespace Azure.Core.TestFramework
 9{
 10    public class MockRequest : Request
 11    {
 33423012        public MockRequest()
 13        {
 33423014            ClientRequestId = Guid.NewGuid().ToString();
 33423015        }
 16
 33423017        private readonly Dictionary<string, List<string>> _headers = new Dictionary<string, List<string>>(StringComparer
 18
 9419        public bool IsDisposed { get; private set; }
 20
 21        public override RequestContent Content
 22        {
 100068023            get { return base.Content; }
 24            set
 25            {
 2398626                if (value != null && value.TryComputeLength(out long length))
 27                {
 2310628                    _headers["Content-Length"] = new List<string> { length.ToString() };
 29
 30                }
 31                else
 32                {
 88033                    _headers.Remove("Content-Length");
 34                }
 2398635                base.Content = value;
 2398636            }
 37        }
 38
 39        protected override void AddHeader(string name, string value)
 40        {
 155619241            if (!_headers.TryGetValue(name, out List<string> values))
 42            {
 155618443                _headers[name] = values = new List<string>();
 44            }
 45
 155619246            values.Add(value);
 155619247        }
 48
 49        protected override bool TryGetHeader(string name, out string value)
 50        {
 136066651            if (_headers.TryGetValue(name, out List<string> values))
 52            {
 34066053                value = JoinHeaderValue(values);
 34066054                return true;
 55            }
 56
 102000657            value = null;
 102000658            return false;
 59        }
 60
 61        protected override bool TryGetHeaderValues(string name, out IEnumerable<string> values)
 62        {
 162144463            var result = _headers.TryGetValue(name, out List<string> valuesList);
 162144464            values = valuesList;
 162144465            return result;
 66        }
 67
 68        protected override bool ContainsHeader(string name)
 69        {
 7169070            return TryGetHeaderValues(name, out _);
 71        }
 72
 73        protected override bool RemoveHeader(string name)
 74        {
 113056075            return _headers.Remove(name);
 76        }
 77
 216503878        protected override IEnumerable<HttpHeader> EnumerateHeaders() => _headers.Select(h => new HttpHeader(h.Key, Join
 79
 80        private static string JoinHeaderValue(IEnumerable<string> values)
 81        {
 213674882            return string.Join(",", values);
 83        }
 84
 110655885        public override string ClientRequestId { get; set; }
 86
 087        public override string ToString() => $"{Method} {Uri}";
 88
 89        public override void Dispose()
 90        {
 32630091            IsDisposed = true;
 32630092        }
 93    }
 94}