< Summary

Information
Class: AsiBackbone.Core.Signing.SignatureVerificationResult
Assembly: AsiBackbone.Core
File(s): /home/runner/work/AsiBackbone/AsiBackbone/src/AsiBackbone.Core/Signing/SignatureVerificationResult.cs
Line coverage
100%
Covered lines: 21
Uncovered lines: 0
Coverable lines: 21
Total lines: 72
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%11100%
get_IsValid()100%11100%
get_Status()100%11100%
get_FailureCode()100%11100%
get_FailureMessage()100%11100%
Verified()100%11100%
Failed(...)100%11100%
MissingSignature(...)100%11100%
NormalizeOptional(...)100%22100%

File(s)

/home/runner/work/AsiBackbone/AsiBackbone/src/AsiBackbone.Core/Signing/SignatureVerificationResult.cs

#LineLine coverage
 1namespace AsiBackbone.Core.Signing;
 2
 3/// <summary>
 4/// Represents the provider-neutral result of a signature verification operation.
 5/// </summary>
 6public sealed class SignatureVerificationResult
 7{
 798    private SignatureVerificationResult(
 799        bool isValid,
 7910        string status,
 7911        string? failureCode,
 7912        string? failureMessage)
 13    {
 7914        ArgumentException.ThrowIfNullOrWhiteSpace(status);
 15
 7916        IsValid = isValid;
 7917        Status = status.Trim();
 7918        FailureCode = NormalizeOptional(failureCode);
 7919        FailureMessage = NormalizeOptional(failureMessage);
 7920    }
 21
 22    /// <summary>
 23    /// Gets a value indicating whether the signature was verified successfully.
 24    /// </summary>
 9425    public bool IsValid { get; }
 26
 27    /// <summary>
 28    /// Gets a provider-neutral verification status.
 29    /// </summary>
 12230    public string Status { get; }
 31
 32    /// <summary>
 33    /// Gets a provider-neutral failure code when verification did not succeed.
 34    /// </summary>
 12335    public string? FailureCode { get; }
 36
 37    /// <summary>
 38    /// Gets a provider-neutral failure message when verification did not succeed.
 39    /// </summary>
 3440    public string? FailureMessage { get; }
 41
 42    /// <summary>
 43    /// Creates a successful verification result.
 44    /// </summary>
 45    public static SignatureVerificationResult Verified()
 46    {
 2647        return new SignatureVerificationResult(true, "Verified", null, null);
 48    }
 49
 50    /// <summary>
 51    /// Creates a failed verification result.
 52    /// </summary>
 53    public static SignatureVerificationResult Failed(string failureCode, string? failureMessage = null)
 54    {
 4855        return new SignatureVerificationResult(false, "Failed", failureCode, failureMessage);
 56    }
 57
 58    /// <summary>
 59    /// Creates a result indicating that no signature metadata was available to verify.
 60    /// </summary>
 61    public static SignatureVerificationResult MissingSignature(string? failureMessage = null)
 62    {
 563        return new SignatureVerificationResult(false, "MissingSignature", "signature.missing", failureMessage);
 64    }
 65
 66    private static string? NormalizeOptional(string? value)
 67    {
 15868        return string.IsNullOrWhiteSpace(value)
 15869            ? null
 15870            : value.Trim();
 71    }
 72}