< Summary

Information
Class: AsiBackbone.Core.CapabilityGrants.CapabilityGrantBindingExpectations
Assembly: AsiBackbone.Core
File(s): /home/runner/work/AsiBackbone/AsiBackbone/src/AsiBackbone.Core/CapabilityGrants/CapabilityGrantBindingExpectations.cs
Line coverage
100%
Covered lines: 6
Uncovered lines: 0
Coverable lines: 6
Total lines: 32
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%22100%
Create(...)100%11100%

File(s)

/home/runner/work/AsiBackbone/AsiBackbone/src/AsiBackbone.Core/CapabilityGrants/CapabilityGrantBindingExpectations.cs

#LineLine coverage
 1namespace AsiBackbone.Core.CapabilityGrants;
 2
 3/// <summary>
 4/// Provides authoritative subject and operation expectations for capability-grant execution validation.
 5/// </summary>
 6public sealed class CapabilityGrantBindingExpectations
 7{
 58    private CapabilityGrantBindingExpectations(string subjectId, string? operationName)
 9    {
 510        SubjectId = subjectId.Trim();
 511        OperationName = string.IsNullOrWhiteSpace(operationName) ? null : operationName.Trim();
 512    }
 13
 14    /// <summary>
 15    /// Gets the authenticated subject that must match the grant.
 16    /// </summary>
 17    public string SubjectId { get; }
 18
 19    /// <summary>
 20    /// Gets the requested operation that must match the grant, when required.
 21    /// </summary>
 22    public string? OperationName { get; }
 23
 24    /// <summary>
 25    /// Creates execution-binding expectations from authoritative host context.
 26    /// </summary>
 27    public static CapabilityGrantBindingExpectations Create(string subjectId, string? operationName = null)
 28    {
 829        ArgumentException.ThrowIfNullOrWhiteSpace(subjectId);
 530        return new CapabilityGrantBindingExpectations(subjectId, operationName);
 31    }
 32}