< Summary

Line coverage
100%
Covered lines: 21
Uncovered lines: 0
Coverable lines: 21
Total lines: 43
Line coverage: 100%
Branch coverage
100%
Covered branches: 8
Total branches: 8
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Cyclomatic complexity Line coverage
GetConfiguration()100%2100%
GetConnectionParameters(...)100%1100%
GetConnectionParameters(...)100%6100%

File(s)

/home/rob/github-runner/_work/snacks-bb-g1-weidinger-g1-sinnreich/snacks-bb-g1-weidinger-g1-sinnreich/src/Snacks.DAL/Common/ConfigurationUtil.cs

#LineLine coverage
 1
 2using Microsoft.Extensions.Configuration;
 3
 4namespace Snacks.DAL.Common;
 5public static class ConfigurationUtil
 6{
 7    private static IConfiguration? configuration = null;
 8
 9    public static IConfiguration GetConfiguration() =>
 20410      configuration ??= new ConfigurationBuilder()
 20411        .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
 20412        .Build();
 13
 14
 15    public static (string ConnectionString, string ProviderName) GetConnectionParameters(string configName)
 216    {
 217        return GetConnectionParameters(GetConfiguration(), configName);
 218    }
 19
 20    public static (string ConnectionString, string ProviderName) GetConnectionParameters(IConfiguration configuration, s
 21221    {
 21222        var connectionConfig = configuration.GetSection("ConnectionStrings").GetSection(configName);
 21223        if (!connectionConfig.Exists())
 424        {
 25
 426            throw new ArgumentException($"Connection configuration '{configName}' does not exist");
 27        }
 28
 20829        var connectionString = connectionConfig["ConnectionString"];
 20830        if (connectionString is null)
 231        {
 232            throw new ArgumentException($"Property ConnectionString not defined in configuration '{configName}'.");
 33        }
 34
 20635        var providerName = connectionConfig["ProviderName"];
 20636        if (providerName is null)
 237        {
 238            throw new ArgumentException($"Property ProviderName not defined in configuration '{configName}'.");
 39        }
 40
 20441        return (connectionString, providerName);
 20442    }
 43}