< Summary - Heimdall API

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

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_TokenLifetime()100%11100%
FromEnvironment()50%22100%

File(s)

/home/runner/work/heimdall-api/heimdall-api/src/Application/ArturRios.Heimdall.Command/Services/EmailVerificationOptions.cs

#LineLine coverage
 1namespace ArturRios.Heimdall.Command.Services;
 2
 3/// <summary>
 4///     Settings for email-verification token issuance. <see cref="TokenLifetime" /> is read from the
 5///     environment (seconds) with a 24-hour default.
 6/// </summary>
 7public class EmailVerificationOptions
 8{
 9    private const string LifetimeVariable = "HEIMDALL_EMAIL_VERIFICATION_TOKEN_EXPIRATION_IN_SECONDS";
 10    private const double DefaultLifetimeSeconds = 86400;
 11
 194212    public TimeSpan TokenLifetime { get; init; } = TimeSpan.FromSeconds(DefaultLifetimeSeconds);
 13
 14    public static EmailVerificationOptions FromEnvironment()
 15    {
 89916        var seconds = double.TryParse(Environment.GetEnvironmentVariable(LifetimeVariable), out var configured)
 89917            ? configured
 89918            : DefaultLifetimeSeconds;
 19
 89920        return new EmailVerificationOptions { TokenLifetime = TimeSpan.FromSeconds(seconds) };
 21    }
 22}