< Summary

Information
Class: LOCKnet.Core.Services.PasswordGeneratorOptions
Assembly: LOCKnet.Core
File(s): /home/runner/work/LOCKnet/LOCKnet/src/LOCKnet.Core/Services/IPasswordGeneratorService.cs
Line coverage
100%
Covered lines: 5
Uncovered lines: 0
Coverable lines: 5
Total lines: 35
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_Length()100%11100%
get_UseUppercase()100%11100%
get_UseLowercase()100%11100%
get_UseDigits()100%11100%
get_UseSpecial()100%11100%

File(s)

/home/runner/work/LOCKnet/LOCKnet/src/LOCKnet.Core/Services/IPasswordGeneratorService.cs

#LineLine coverage
 1namespace LOCKnet.Core.Services;
 2
 3/// <summary>
 4/// Erzeugt kryptographisch sichere Passwoerter auf Basis konfigurierbarer Optionen.
 5/// </summary>
 6public interface IPasswordGeneratorService
 7{
 8  /// <summary>
 9  /// Generiert ein neues Passwort auf Basis von <paramref name="options"/>.
 10  /// </summary>
 11  /// <param name="options">Optionen fuer Laenge und erlaubte Zeichengruppen.</param>
 12  /// <returns>Ein zufaellig erzeugtes Passwort.</returns>
 13  string Generate(PasswordGeneratorOptions options);
 14}
 15
 16/// <summary>
 17/// Optionen fuer die Passwortgenerierung.
 18/// </summary>
 19public record PasswordGeneratorOptions
 20{
 21  /// <summary>Gewuenschte Passwortlaenge.</summary>
 4622  public int Length { get; init; } = 16;
 23
 24  /// <summary>Grossbuchstaben verwenden.</summary>
 3625  public bool UseUppercase { get; init; } = true;
 26
 27  /// <summary>Kleinbuchstaben verwenden.</summary>
 3628  public bool UseLowercase { get; init; } = true;
 29
 30  /// <summary>Ziffern verwenden.</summary>
 3631  public bool UseDigits { get; init; } = true;
 32
 33  /// <summary>Sonderzeichen verwenden.</summary>
 3634  public bool UseSpecial { get; init; } = true;
 35}