< Summary - CoreWCF Coverage — PR #1766

Information
Class: CoreWCF.IdentityModel.Tokens.SamlSecurityToken
Assembly: CoreWCF.Primitives
File(s): /home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.Primitives/src/CoreWCF/IdentityModel/Tokens/SamlSecurityToken.cs
Line coverage
60%
Covered lines: 17
Uncovered lines: 11
Coverable lines: 28
Total lines: 91
Line coverage: 60.7%
Branch coverage
16%
Covered branches: 1
Total branches: 6
Branch coverage: 16.6%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Cyclomatic complexity NPath complexity Sequence coverage
.ctor()100%11100%
.ctor(...)100%11100%
.ctor(...)100%110%
Initialize(...)50%2275%
op_Explicit(...)100%11100%

File(s)

/home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.Primitives/src/CoreWCF/IdentityModel/Tokens/SamlSecurityToken.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.Generic;
 6using System.Collections.ObjectModel;
 7using CoreWCF.Security;
 8using CoreWCF.Runtime;
 9using MSIdentitySAML = Microsoft.IdentityModel.Tokens.Saml;
 10
 11namespace CoreWCF.IdentityModel.Tokens
 12{
 13    public class SamlSecurityToken : SecurityToken
 14    {
 15        private readonly ReadOnlyCollection<SecurityKey> _keys;
 216        protected SamlSecurityToken()
 17        {
 218        }
 19
 5320        internal SamlSecurityToken(MSIdentitySAML.SamlSecurityToken samlSecurityToken, ReadOnlyCollection<SecurityKey> k
 21        {
 22            Fx.Assert(samlSecurityToken != null, "SamlSecurityToken can't be null");
 5323            WrappedSamlSecurityToken = samlSecurityToken;
 5324            Initialize(samlSecurityToken.Assertion);
 5325            _keys = keys;
 5326        }
 27
 028        public SamlSecurityToken(MSIdentitySAML.SamlAssertion assertion)
 29        {
 030            Initialize(assertion);
 031        }
 32
 33        protected void Initialize(MSIdentitySAML.SamlAssertion assertion)
 34        {
 5335            if (assertion != null)
 36            {
 5337                Assertion = assertion;
 38                // this.assertion.MakeReadOnly();
 5339                SamlStatements = new List<InternalSamlSubjectStatement>();
 40            }
 41            else
 042                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(assertion));
 43        }
 44
 45        public static explicit operator MSIdentitySAML.SamlSecurityToken(SamlSecurityToken samlSecurityToken)
 46        {
 147            return samlSecurityToken.WrappedSamlSecurityToken;
 48        }
 49
 2850        public override string Id => Assertion.AssertionId;
 51
 152        internal MSIdentitySAML.SamlSecurityToken WrappedSamlSecurityToken { get; }
 53
 18254        internal MSIdentitySAML.SamlAssertion Assertion { get; private set; }
 55
 13356        internal SecurityToken SigningToken { get; set; }
 57
 5758        internal List<InternalSamlSubjectStatement> SamlStatements { get; set; }
 59
 60        public override DateTime ValidFrom
 61        {
 62            get
 63            {
 064                if (Assertion.Conditions != null)
 65                {
 066                    return Assertion.Conditions.NotBefore;
 67                }
 68
 069                return SecurityUtils.MinUtcDateTime;
 70            }
 71        }
 72
 73        public override DateTime ValidTo
 74        {
 75            get
 76            {
 077                if (Assertion.Conditions != null)
 78                {
 079                    return Assertion.Conditions.NotOnOrAfter;
 80                }
 81
 082                return SecurityUtils.MaxUtcDateTime;
 83            }
 84        }
 85
 086        public override ReadOnlyCollection<SecurityKey> SecurityKeys => _keys;
 87
 9888        public string AssertionXML { get; internal set; }
 89
 90    }
 91}