< Summary

Information
Class: Elsa.ExternalAuthentication.Permissions.ClaimMappingPermissionGrantSource
Assembly: Elsa.ExternalAuthentication
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.ExternalAuthentication/Permissions/ClaimMappingPermissionGrantSource.cs
Line coverage
88%
Covered lines: 8
Uncovered lines: 1
Coverable lines: 9
Total lines: 24
Line coverage: 88.8%
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 Crap Score Cyclomatic complexity Line coverage
get_Type()100%11100%
Describe()100%210%
GetGrantsAsync(...)100%11100%
CreateResult(...)100%44100%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.ExternalAuthentication/Permissions/ClaimMappingPermissionGrantSource.cs

#LineLine coverage
 1using Elsa.ExternalAuthentication.Contracts;
 2using Elsa.ExternalAuthentication.Models;
 3
 4namespace Elsa.ExternalAuthentication.Permissions;
 5
 6public sealed class ClaimMappingPermissionGrantSource : IPermissionGrantSource
 7{
 8    public const string SourceType = "claim-mapping";
 109    public string Type => SourceType;
 10
 011    public PermissionGrantSourceDescriptor Describe() => new(Type, "Claim mapping", "Grants explicitly mapped Elsa permi
 12
 513    public ValueTask<PermissionGrantResult> GetGrantsAsync(PermissionGrantContext context, CancellationToken cancellatio
 14
 15    internal static PermissionGrantResult CreateResult(PermissionGrantContext context, string sourceType)
 16    {
 717        var grants = PermissionGrantMappingSettings.Read(context.Selection.Settings)
 718            .SelectMany(mapping => context.ProjectedClaims.TryGetValue(mapping.ClaimType, out var values) && values.Cont
 1019                ? mapping.Permissions.Select(permission => new PermissionGrant(permission, sourceType, $"{mapping.ClaimT
 720                : [])
 721            .ToArray();
 722        return new PermissionGrantResult(grants, []);
 23    }
 24}