< 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{
 1988    private SignatureVerificationResult(
 1989        bool isValid,
 19810        string status,
 19811        string? failureCode,
 19812        string? failureMessage)
 13    {
 19814        ArgumentException.ThrowIfNullOrWhiteSpace(status);
 15
 19816        IsValid = isValid;
 19817        Status = status.Trim();
 19818        FailureCode = NormalizeOptional(failureCode);
 19819        FailureMessage = NormalizeOptional(failureMessage);
 19820    }
 21
 22    /// <summary>
 23    /// Gets a value indicating whether the signature was verified successfully.
 24    /// </summary>
 23225    public bool IsValid { get; }
 26
 27    /// <summary>
 28    /// Gets a provider-neutral verification status.
 29    /// </summary>
 29030    public string Status { get; }
 31
 32    /// <summary>
 33    /// Gets a provider-neutral failure code when verification did not succeed.
 34    /// </summary>
 28035    public string? FailureCode { get; }
 36
 37    /// <summary>
 38    /// Gets a provider-neutral failure message when verification did not succeed.
 39    /// </summary>
 7640    public string? FailureMessage { get; }
 41
 42    /// <summary>
 43    /// Creates a successful verification result.
 44    /// </summary>
 45    public static SignatureVerificationResult Verified()
 46    {
 6047        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    {
 12455        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    {
 1063        return new SignatureVerificationResult(false, "MissingSignature", "signature.missing", failureMessage);
 64    }
 65
 66    private static string? NormalizeOptional(string? value)
 67    {
 39668        return string.IsNullOrWhiteSpace(value)
 39669            ? null
 39670            : value.Trim();
 71    }
 72}