< Summary - CoreWCF Coverage — PR #1766

Information
Class: CoreWCF.Security.MessageSecurityTokenVersion
Assembly: CoreWCF.Primitives
File(s): /home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.Primitives/src/CoreWCF/Security/MessageSecurityTokenVersion.cs
Line coverage
88%
Covered lines: 75
Uncovered lines: 10
Coverable lines: 85
Total lines: 161
Line coverage: 88.2%
Branch coverage
0%
Covered branches: 0
Total branches: 8
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Cyclomatic complexity NPath complexity Sequence coverage
.cctor()100%11100%
GetSecurityTokenVersion(...)0%880%
.ctor(...)100%11100%
GetSecuritySpecifications()100%11100%
ToString()100%110%

File(s)

/home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.Primitives/src/CoreWCF/Security/MessageSecurityTokenVersion.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.Collections.ObjectModel;
 6using CoreWCF.IdentityModel.Selectors;
 7
 8namespace CoreWCF.Security
 9{
 10    internal sealed class MessageSecurityTokenVersion : SecurityTokenVersion
 11    {
 12        private readonly string _toString;
 13        private readonly ReadOnlyCollection<string> _supportedSpecs;
 14        private const string bsp10ns = @"http://ws-i.org/profiles/basic-security/core/1.0";
 315        private static readonly MessageSecurityTokenVersion s_wss10oasisdec2005bsp10 = new MessageSecurityTokenVersion(
 316            SecurityVersion.WSSecurity10,
 317            TrustVersion.WSTrust13,
 318            SecureConversationVersion.WSSecureConversation13,
 319            "WSSecurity10WSTrust13WSSecureConversation13BasicSecurityProfile10",
 320            true,
 321            XD.SecurityXXX2005Dictionary.Namespace.Value,
 322            DXD.TrustDec2005Dictionary.Namespace.Value,
 323            DXD.SecureConversationDec2005Dictionary.Namespace.Value
 324            );
 325        private static readonly MessageSecurityTokenVersion s_wss11oasisdec2005 = new MessageSecurityTokenVersion(
 326            SecurityVersion.WSSecurity11,
 327            TrustVersion.WSTrust13,
 328            SecureConversationVersion.WSSecureConversation13,
 329            "WSSecurity11WSTrust13WSSecureConversation13",
 330            false,
 331            XD.SecurityJan2004Dictionary.Namespace.Value,
 332            DXD.TrustDec2005Dictionary.Namespace.Value,
 333            DXD.SecureConversationDec2005Dictionary.Namespace.Value
 334            );
 335        private static readonly MessageSecurityTokenVersion s_wss11oasisdec2005bsp10 = new MessageSecurityTokenVersion(
 336            SecurityVersion.WSSecurity11,
 337            TrustVersion.WSTrust13,
 338            SecureConversationVersion.WSSecureConversation13,
 339            "WSSecurity11WSTrust13WSSecureConversation13BasicSecurityProfile10",
 340            true,
 341            XD.SecurityXXX2005Dictionary.Namespace.Value,
 342            DXD.TrustDec2005Dictionary.Namespace.Value,
 343            DXD.SecureConversationDec2005Dictionary.Namespace.Value
 344            );
 45
 18046        public static MessageSecurityTokenVersion WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005 { get;
 347            SecurityVersion.WSSecurity11,
 348            TrustVersion.WSTrustFeb2005,
 349            SecureConversationVersion.WSSecureConversationFeb2005,
 350            "WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005",
 351            false,
 352            XD.SecurityXXX2005Dictionary.Namespace.Value,
 353            XD.TrustFeb2005Dictionary.Namespace.Value,
 354            XD.SecureConversationFeb2005Dictionary.Namespace.Value);
 55
 42156        public static MessageSecurityTokenVersion WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005BasicSe
 357            SecurityVersion.WSSecurity11,
 358            TrustVersion.WSTrustFeb2005,
 359            SecureConversationVersion.WSSecureConversationFeb2005,
 360            "WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005BasicSecurityProfile10",
 361            true,
 362            XD.SecurityXXX2005Dictionary.Namespace.Value,
 363            XD.TrustFeb2005Dictionary.Namespace.Value,
 364            XD.SecureConversationFeb2005Dictionary.Namespace.Value,
 365            bsp10ns);
 66
 8967        public static MessageSecurityTokenVersion WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005BasicSe
 368            SecurityVersion.WSSecurity10,
 369            TrustVersion.WSTrustFeb2005,
 370            SecureConversationVersion.WSSecureConversationFeb2005,
 371            "WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005BasicSecurityProfile10",
 372            true,
 373            XD.SecurityJan2004Dictionary.Namespace.Value,
 374            XD.TrustFeb2005Dictionary.Namespace.Value,
 375            XD.SecureConversationFeb2005Dictionary.Namespace.Value,
 376            bsp10ns);
 77
 78        public static MessageSecurityTokenVersion WSSecurity10WSTrust13WSSecureConversation13BasicSecurityProfile10
 79        {
 80            get
 81            {
 582                return s_wss10oasisdec2005bsp10;
 83            }
 84        }
 85
 86        public static MessageSecurityTokenVersion WSSecurity11WSTrust13WSSecureConversation13
 87        {
 88            get
 89            {
 590                return s_wss11oasisdec2005;
 91            }
 92        }
 93
 94        public static MessageSecurityTokenVersion WSSecurity11WSTrust13WSSecureConversation13BasicSecurityProfile10
 95        {
 96            get
 97            {
 81098                return s_wss11oasisdec2005bsp10;
 99            }
 100        }
 101
 102        public static MessageSecurityTokenVersion GetSecurityTokenVersion(SecurityVersion version, bool emitBspAttribute
 103        {
 0104            if (version == SecurityVersion.WSSecurity10)
 105            {
 0106                if (emitBspAttributes)
 107                {
 0108                    return WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005BasicSecurityProfile10;
 109                }
 110                else
 111                {
 0112                    throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException());
 113                }
 114            }
 0115            else if (version == SecurityVersion.WSSecurity11)
 116            {
 0117                if (emitBspAttributes)
 118                {
 0119                    return WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005BasicSecurityProfile10;
 120                }
 121                else
 122                {
 0123                    return WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005;
 124                }
 125            }
 126            else
 127            {
 0128                throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException());
 129            }
 130        }
 131
 132        private MessageSecurityTokenVersion(SecurityVersion securityVersion, TrustVersion trustVersion, SecureConversati
 18133            : base()
 134        {
 18135            EmitBspRequiredAttributes = emitBspRequiredAttributes;
 18136            _supportedSpecs = new ReadOnlyCollection<string>(supportedSpecs);
 18137            _toString = toString;
 18138            SecurityVersion = securityVersion;
 18139            TrustVersion = trustVersion;
 18140            SecureConversationVersion = secureConversationVersion;
 18141        }
 142
 76143        public bool EmitBspRequiredAttributes { get; }
 144
 911145        public SecurityVersion SecurityVersion { get; }
 146
 327147        public TrustVersion TrustVersion { get; }
 148
 257149        public SecureConversationVersion SecureConversationVersion { get; }
 150
 151        public override ReadOnlyCollection<string> GetSecuritySpecifications()
 152        {
 2153            return _supportedSpecs;
 154        }
 155
 156        public override string ToString()
 157        {
 0158            return _toString;
 159        }
 160    }
 161}