using Microsoft.Extensions.Configuration; using System; using System.Collections.Generic; using System.IO; using System.Text; namespace AWS.Logger.AspNetCore.Tests { /// /// provides access to methods helpful when dealing with configuration in .net core JSON form /// public class TestConfigurationBase { /// /// read IConfiguration from a JSON file, for testing purposes /// /// /// /// /// IConfiguration from a JSON file public IConfiguration LoggerConfigSectionSetup(string jsonFileName, string configSectionInfoBlockName, [System.Runtime.CompilerServices.CallerFilePath]string sourceFilePath = "") { var configurationBuilder = new ConfigurationBuilder() .SetBasePath(Path.GetDirectoryName(sourceFilePath)) .AddJsonFile(jsonFileName); IConfiguration Config; if (configSectionInfoBlockName != null) { Config = configurationBuilder .Build() .GetSection(configSectionInfoBlockName); } else { Config = configurationBuilder .Build() .GetSection("AWS.Logging"); } return Config; } } }