< Summary

Information
Class: Elsa.Secrets.Models.ManagedSecretNames
Assembly: Elsa.Secrets
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Secrets/Models/ManagedSecretNames.cs
Line coverage
100%
Covered lines: 5
Uncovered lines: 0
Coverable lines: 5
Total lines: 15
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
ForGeneration(...)100%11100%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Secrets/Models/ManagedSecretNames.cs

#LineLine coverage
 1namespace Elsa.Secrets.Models;
 2
 3/// <summary>Deterministic opaque names make retries for the same owner/generation collide safely at the Secrets store.<
 4public static class ManagedSecretNames
 5{
 6    public static string ForGeneration(string ownerId, string generationId)
 7    {
 58        ArgumentException.ThrowIfNullOrWhiteSpace(ownerId);
 59        ArgumentException.ThrowIfNullOrWhiteSpace(generationId);
 10
 511        var identity = System.Text.Encoding.UTF8.GetBytes($"{ownerId}\0{generationId}");
 512        var digest = Convert.ToHexString(System.Security.Cryptography.SHA256.HashData(identity)).ToLowerInvariant();
 513        return $"connection:credential:{digest}";
 14    }
 15}