< Summary - Heimdall API

Information
Class: ArturRios.Heimdall.Command.Input.Validation.IssueApplicationCredentialCommandValidator
Assembly: ArturRios.Heimdall.Command
File(s): /home/runner/work/heimdall-api/heimdall-api/src/Application/ArturRios.Heimdall.Command/Input/Validation/IssueApplicationCredentialCommandValidator.cs
Line coverage
100%
Covered lines: 5
Uncovered lines: 0
Coverable lines: 5
Total lines: 16
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage
100%
Covered methods: 1
Fully covered methods: 1
Total methods: 1
Method coverage: 100%
Full method coverage: 100%

Metrics

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

File(s)

/home/runner/work/heimdall-api/heimdall-api/src/Application/ArturRios.Heimdall.Command/Input/Validation/IssueApplicationCredentialCommandValidator.cs

#LineLine coverage
 1using ArturRios.Heimdall.Shared.Messages;
 2using ArturRios.Heimdall.Shared.Time;
 3using FluentValidation;
 4
 5namespace ArturRios.Heimdall.Command.Input.Validation;
 6
 7/// <summary>UC-53 AF-53c: an expiry, when given, must lie in the future — read as UTC when it has no offset.</summary>
 8public class IssueApplicationCredentialCommandValidator : AbstractValidator<IssueApplicationCredentialCommand>
 9{
 2110    public IssueApplicationCredentialCommandValidator()
 11    {
 2112        RuleFor(command => command.ExpiresAt)
 2413            .Must(expiresAt => expiresAt is null || UtcInstant.Of(expiresAt.Value) > DateTime.UtcNow)
 2114            .WithMessage(ApplicationCredentialMessages.ExpiryNotInFuture);
 2115    }
 16}

Methods/Properties

.ctor()