< Summary - Envilder .NET SDK

Information
Class: Envilder.Infrastructure.Configuration.EnvilderConfigurationProvider
Assembly: Envilder
File(s): /home/runner/work/envilder/envilder/src/sdks/dotnet/Infrastructure/Configuration/EnvilderConfigurationProvider.cs
Tag: 352_26963168797
Line coverage
100%
Covered lines: 11
Uncovered lines: 0
Coverable lines: 11
Total lines: 34
Line coverage: 100%
Branch coverage
66%
Covered branches: 4
Total branches: 6
Branch coverage: 66.6%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)50%44100%
Load()100%22100%
NormalizeKey(...)100%11100%

File(s)

/home/runner/work/envilder/envilder/src/sdks/dotnet/Infrastructure/Configuration/EnvilderConfigurationProvider.cs

#LineLine coverage
 1namespace Envilder.Infrastructure.Configuration;
 2
 3using Microsoft.Extensions.Configuration;
 4using System;
 5
 6public class EnvilderConfigurationProvider : ConfigurationProvider
 7{
 8  private readonly EnvilderClient _client;
 9  private readonly ParsedMapFile _mapFile;
 10
 111  public EnvilderConfigurationProvider(EnvilderClient client, ParsedMapFile mapFile)
 12  {
 113    _client = client ?? throw new ArgumentNullException(nameof(client));
 114    _mapFile = mapFile ?? throw new ArgumentNullException(nameof(mapFile));
 115  }
 16
 17  public override void Load()
 18  {
 119    var secrets = _client.ResolveSecrets(_mapFile);
 20
 121    Data.Clear();
 22
 123    foreach (var kvp in secrets)
 24    {
 125      var key = NormalizeKey(kvp.Key);
 126      Data[key] = kvp.Value;
 27    }
 128  }
 29
 30  private static string NormalizeKey(string key)
 31  {
 132    return key.Replace("/", ConfigurationPath.KeyDelimiter);
 33  }
 34}