< 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
83%
Covered lines: 10
Uncovered lines: 2
Coverable lines: 12
Total lines: 22
Line coverage: 83.3%
Branch coverage
70%
Covered branches: 7
Total branches: 10
Branch coverage: 70%
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()70%111080%

File(s)

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

#LineLine coverage
 1namespace Elsa.Secrets.Services;
 2
 313public class DefaultSecretResolver(ISecretManager secretManager) : ISecretResolver
 4{
 65    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    {
 79        var secret = await secretManager.GetAsync(reference.Name, cancellationToken);
 710        if (secret == null)
 011            throw new InvalidOperationException($"Secret '{reference.Name}' was not found.");
 12
 713        if (!string.IsNullOrWhiteSpace(reference.TypeName) && !string.Equals(secret.TypeName, reference.TypeName, String
 114            throw new InvalidOperationException($"Secret '{reference.Name}' is not compatible with required type '{refer
 15
 616        if (!string.IsNullOrWhiteSpace(reference.Scope) && !string.Equals(secret.Scope, reference.Scope, StringCompariso
 017            throw new InvalidOperationException($"Secret '{reference.Name}' is not compatible with required scope '{refe
 18
 619        var payload = await secretManager.ResolvePayloadAsync(secret, cancellationToken);
 520        return payload.Value!;
 521    }
 22}