< 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: 12
Uncovered lines: 0
Coverable lines: 12
Total lines: 22
Line coverage: 100%
Branch coverage
100%
Covered branches: 10
Total branches: 10
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%1010100%

File(s)

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

#LineLine coverage
 1namespace Elsa.Secrets.Services;
 2
 453public class DefaultSecretResolver(ISecretManager secretManager) : ISecretResolver
 4{
 75    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    {
 129        var secret = await secretManager.GetAsync(reference.Name, cancellationToken);
 1210        if (secret == null)
 111            throw new InvalidOperationException($"Secret '{reference.Name}' was not found.");
 12
 1113        if (!string.IsNullOrWhiteSpace(reference.TypeName) && !string.Equals(secret.TypeName, reference.TypeName, String
 214            throw new InvalidOperationException($"Secret '{reference.Name}' is not compatible with required type '{refer
 15
 916        if (!string.IsNullOrWhiteSpace(reference.Scope) && !string.Equals(secret.Scope, reference.Scope, StringCompariso
 117            throw new InvalidOperationException($"Secret '{reference.Name}' is not compatible with required scope '{refe
 18
 819        var payload = await secretManager.ResolvePayloadAsync(secret, cancellationToken);
 720        return payload.Value!;
 721    }
 22}