< 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: 299_25910610327
Line coverage
100%
Covered lines: 11
Uncovered lines: 0
Coverable lines: 11
Total lines: 36
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 Envilder.Application;
 4using Envilder.Domain;
 5using Microsoft.Extensions.Configuration;
 6using System;
 7
 8public class EnvilderConfigurationProvider : ConfigurationProvider
 9{
 10  private readonly EnvilderClient _client;
 11  private readonly ParsedMapFile _mapFile;
 12
 113  public EnvilderConfigurationProvider(EnvilderClient client, ParsedMapFile mapFile)
 14  {
 115    _client = client ?? throw new ArgumentNullException(nameof(client));
 116    _mapFile = mapFile ?? throw new ArgumentNullException(nameof(mapFile));
 117  }
 18
 19  public override void Load()
 20  {
 121    var secrets = _client.ResolveSecrets(_mapFile);
 22
 123    Data.Clear();
 24
 125    foreach (var kvp in secrets)
 26    {
 127      var key = NormalizeKey(kvp.Key);
 128      Data[key] = kvp.Value;
 29    }
 130  }
 31
 32  private static string NormalizeKey(string key)
 33  {
 134    return key.Replace("/", ConfigurationPath.KeyDelimiter);
 35  }
 36}