< Summary

Information
Class: Elsa.Secrets.Services.DefaultSecretResolver
Assembly: Elsa.Secrets
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Secrets/Services/DefaultSecretResolver.cs
Line coverage
100%
Covered lines: 14
Uncovered lines: 0
Coverable lines: 14
Total lines: 27
Line coverage: 100%
Branch coverage
100%
Covered branches: 12
Total branches: 12
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%
ResolveAsync(...)100%11100%
ResolveAsync()100%1212100%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Secrets/Services/DefaultSecretResolver.cs

#LineLine coverage
 1namespace Elsa.Secrets.Services;
 2
 943public class DefaultSecretResolver(ISecretManager secretManager) : ISecretResolver
 4{
 85    public Task<string> ResolveAsync(string name, CancellationToken cancellationToken = default) => ResolveAsync(new Sec
 6
 7    public async Task<string> ResolveAsync(SecretReference reference, CancellationToken cancellationToken = default)
 8    {
 139        var secret = await secretManager.GetAsync(reference.Name, cancellationToken);
 1310        if (secret == null)
 111            throw new InvalidOperationException($"Secret '{reference.Name}' was not found.");
 12
 1213        if (secret.IsLifecycleManaged)
 14        {
 115            throw new InvalidOperationException("Lifecycle-managed secret generations can only be accessed through their
 16        }
 17
 1118        if (!string.IsNullOrWhiteSpace(reference.TypeName) && !string.Equals(secret.TypeName, reference.TypeName, String
 219            throw new InvalidOperationException($"Secret '{reference.Name}' is not compatible with required type '{refer
 20
 921        if (!string.IsNullOrWhiteSpace(reference.Scope) && !string.Equals(secret.Scope, reference.Scope, StringCompariso
 122            throw new InvalidOperationException($"Secret '{reference.Name}' is not compatible with required scope '{refe
 23
 824        var payload = await secretManager.ResolvePayloadAsync(secret, cancellationToken);
 725        return payload.Value!;
 726    }
 27}