< Summary - CoreWCF Coverage — PR #1766

Information
Class: CoreWCF.IdentityModel.Tokens.SamlAuthorizationDecisionClaimResource
Assembly: CoreWCF.Primitives
File(s): /home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.Primitives/src/CoreWCF/IdentityModel/Tokens/SamlAuthorizationDecisionClaimResource.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 29
Coverable lines: 29
Total lines: 85
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 20
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Cyclomatic complexity NPath complexity Sequence coverage
OnDeserialized(...)0%440%
.ctor(...)0%440%
Equals(...)0%12120%
GetHashCode()100%110%

File(s)

/home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.Primitives/src/CoreWCF/IdentityModel/Tokens/SamlAuthorizationDecisionClaimResource.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.Runtime.Serialization;
 5
 6namespace CoreWCF.IdentityModel.Tokens
 7{
 8    [DataContract(Namespace = "http://schemas.datacontract.org/2004/07/System.IdentityModel.Tokens")]
 9    public class SamlAuthorizationDecisionClaimResource
 10    {
 11        [DataMember]
 12        private string resource;
 13
 14        [DataMember]
 15        private SamlAccessDecision accessDecision;
 16
 17        [DataMember]
 18        private string actionNamespace;
 19
 20        [DataMember]
 21        private string actionName;
 22
 23        [OnDeserialized]
 24        private void OnDeserialized(StreamingContext ctx)
 25        {
 026            if (string.IsNullOrEmpty(resource))
 027                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(resource));
 028            if (string.IsNullOrEmpty(actionName))
 029                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(actionName));
 030        }
 31
 032        public SamlAuthorizationDecisionClaimResource(string resource, SamlAccessDecision accessDecision, string actionN
 33        {
 034            if (string.IsNullOrEmpty(resource))
 035                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(resource));
 036            if (string.IsNullOrEmpty(actionName))
 037                throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(actionName));
 38
 039            this.resource = resource;
 040            this.accessDecision = accessDecision;
 041            this.actionNamespace = actionNamespace;
 042            this.actionName = actionName;
 043        }
 44
 045        public string Resource => resource;
 46
 047        public SamlAccessDecision AccessDecision => accessDecision;
 48
 049        public string ActionNamespace => actionNamespace;
 50
 051        public string ActionName => actionName;
 52
 53        public override bool Equals(object obj)
 54        {
 055            if (obj == null)
 056                return false;
 57
 058            if (ReferenceEquals(this, obj))
 059                return true;
 60
 061            SamlAuthorizationDecisionClaimResource rhs = obj as SamlAuthorizationDecisionClaimResource;
 062            if (rhs == null)
 063                return false;
 64
 065            return ((ActionName == rhs.ActionName) && (ActionNamespace == rhs.ActionNamespace) &&
 066                (Resource == rhs.Resource) && (AccessDecision == rhs.AccessDecision));
 67        }
 68
 69        public override int GetHashCode()
 70        {
 071            return (resource.GetHashCode() ^ accessDecision.GetHashCode());
 72        }
 73    }
 74
 75    [DataContract(Namespace = "http://schemas.datacontract.org/2004/07/System.IdentityModel.Tokens")]
 76    public enum SamlAccessDecision
 77    {
 78        [EnumMember]
 79        Permit,
 80        [EnumMember]
 81        Deny,
 82        [EnumMember]
 83        Indeterminate
 84    }
 85}