< Summary

Information
Class: ClientManager.Shared.Configuration.ConfigurationHelper
Assembly: ClientManager.Shared
File(s): /home/runner/work/ClientManagerDemo/ClientManagerDemo/src/ClientManager/ClientManager.Shared/Configuration/ConfigurationHelper.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 15
Coverable lines: 15
Total lines: 32
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 10
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
LoadDotEnvFile(...)0%4260%
FindEnvFile(...)0%2040%

File(s)

/home/runner/work/ClientManagerDemo/ClientManagerDemo/src/ClientManager/ClientManager.Shared/Configuration/ConfigurationHelper.cs

#LineLine coverage
 1using dotenv.net;
 2
 3namespace ClientManager.Shared.Configuration;
 4
 5public class ConfigurationHelper
 6{
 7    public static void LoadDotEnvFile(string? basePath = null)
 8    {
 09        basePath ??= AppContext.BaseDirectory;
 010        var envPath = FindEnvFile(basePath);
 011        if (envPath is not null && File.Exists(envPath))
 012            DotEnv.Load(new DotEnvOptions(envFilePaths: [envPath]));
 13        else
 014            Console.WriteLine(
 015                $"Warning: .env file not found at {basePath} or in any parent folders. Using appsettings.json for enviro
 016            );
 017    }
 18
 19    public static string? FindEnvFile(string startDirectory)
 20    {
 021        var currentDir = new DirectoryInfo(startDirectory);
 022        while (currentDir != null)
 23        {
 024            var envFilePath = Path.Combine(currentDir.FullName, ".env");
 025            if (File.Exists(envFilePath))
 026                return envFilePath;
 27
 028            currentDir = currentDir.Parent;
 29        }
 030        return null;
 31    }
 32}