Esempio n. 1
0
        public static IServiceProvider Configure(Dictionary <string, string> cmdParams)
        {
            var services = new ServiceCollection();

            IAppConfiguration config;

            // TODO: внести исправления в базовую сборку класс AppConfigurationDefault
            if (cmdParams.ContainsKey("env"))
            {
                // Задаём конфигурацию через пришедший параметр
                config = new AppConfigurationDefault(cmdParams["env"]);
            }
            else
            {
                // Задаём конфигурацию через переменную среды
                config = new AppConfigurationDefault();
            }

            var appSettings = new AppSettings(config);

            services
            .AddSingleton <IServiceCollection>(services)
            .AddSingleton <IAppConfiguration>(config)
            .AddSingleton <IAppSettings>(appSettings)
            .AddSingleton <IAppLogger, AppLoggerDefault>()
            .AddTransient <Runner>();

            return(services.BuildServiceProvider());
        }
        public void ReadingConfigurationFromArrayFromNotDefaultConfigFileAndNotDefaultEnv()
        {
            var config = new AppConfigurationDefault("Array", "Configurations/appsettings.test");

            Assert.Equal("Test01", config["Param6:0"]);
            Assert.Equal("Test02", config["Param6:1"]);
            Assert.Equal("Test03", config["Param6:2"]);
            Assert.Null(config["Param6:3"]);
        }
        public void AppSettingsJsonShouldBeUsedAsDefaultConfigurationFile()
        {
            var config = new AppConfigurationDefault();

            Assert.Equal("Test11", config["Param1"]);
            Assert.Equal("Test12", config["Param2"]);
            Assert.Equal("Test14", config["Param3:Param4"]);
            Assert.Equal("Test15", config["Param3:Param5"]);
            Assert.Null(config["Param16"]);
            Assert.Null(config["Param17"]);
            Assert.Equal("Connect10", config.GetConnectionString("MAINDB"));
        }
        public void ReadingConfigurationFromNotDefaultConfigFileAndNotDefaultEnv()
        {
            var config = new AppConfigurationDefault("Debug", "Configurations/appsettings.test");

            Assert.Equal("Test1", config["Param1"]);
            Assert.Equal("Test2", config["Param2"]);
            Assert.Equal("Test4", config["Param3:Param4"]);
            Assert.Equal("Test5", config["Param3:Param5"]);
            Assert.Equal("Test6", config["Param6"]);
            Assert.Equal("Test7", config["Param7"]);
            Assert.Equal("Connect", config.GetConnectionString("MAINDB"));
        }
        public void ReadingConfigurationSection()
        {
            var config  = new AppConfigurationDefault(null, "Configurations/appsettings.test");
            var section = config.GetSection("Param8");

            Assert.Null(section["Param4"]);
            Assert.Null(section["Param5"]);

            var section2 = config.GetSection("Param3");

            Assert.Equal("Test4", section2["Param4"]);
            Assert.Equal("Test5", section2["Param5"]);
        }
        public void ReadingWithAdditionalConfigurations()
        {
            var config = new AppConfigurationDefault(null, "Configurations/appsettings.withAdditionalConfigs");

            Assert.Equal("162342", config["Param4815"]);
        }