Example #1
0
        public void GetSettingsFromProviderOnlyOnceTest()
        {
            ICustomSettingsProvider provider = GetCustomSettingsPrroviderMock();
            ICustomSettingsManager  manager  = new CustomSettingsManager(provider);

            CustomSettingsModel settings = manager.Settings;

            Mock.Assert(() => provider.GetAllSettingByEnvironment(), Occurs.Once());

            CustomSettingsModel settingsSecond = manager.Settings;

            Mock.Assert(() => provider.GetAllSettingByEnvironment(), Occurs.Once());
        }
Example #2
0
        public void GetSettingsTest()
        {
            ICustomSettingsProvider provider = GetCustomSettingsPrroviderMock();
            ICustomSettingsManager  manager  = new CustomSettingsManager(provider);

            CustomSettingsModel settings = manager.Settings;

            Assert.IsNotNull(settings);
            Assert.AreEqual(ENVIRONMENT, settings.Environment);
            Assert.AreEqual(LOGGER_PATH, settings.LoggerPath);
            Assert.IsNotNull(settings.Settings);
            Assert.IsTrue(settings.Settings.ContainsKey(SETTINGS_ONE_KEY));
            Assert.IsTrue(settings.Settings.ContainsKey(SETTINGS_TWO_KEY));
            Assert.AreEqual(SETTINGS_ONE_VALUE, settings.Settings[SETTINGS_ONE_KEY]);
            Assert.AreEqual(SETTINGS_TWO_VALUE, settings.Settings[SETTINGS_TWO_KEY]);
        }
        public CustomSettingsManager(ICustomSettingsProvider customSettingsProvider)
        {
            ParameterValidation.IsNotNull(customSettingsProvider, nameof(customSettingsProvider));

            this.provider = customSettingsProvider;

            this.settings = new Lazy <CustomSettingsModel>(() =>
            {
                CustomSettingsModel settings = this.provider.GetAllSettingByEnvironment();
                return(settings);
            });

            this.customSettings = new Lazy <IDictionary <string, string> >(() =>
            {
                return(new Dictionary <string, string>(this.settings.Value.Settings, StringComparer.InvariantCultureIgnoreCase));
            });
        }
Example #4
0
        public CustomSettingsModel GetAllSettingByEnvironment()
        {
            var environment = this.GetEnvironment();

            Dictionary <string, string> dictionary = new Dictionary <string, string>();

            this.AddEndpoints(dictionary, environment);
            this.AddConnectionStrings(dictionary, environment);
            this.AddAppSettings(dictionary);

            var result = new CustomSettingsModel()
            {
                Environment = environment,
                LoggerPath  = this.webConfigSettings.Value.Logger.Path,
                Settings    = dictionary,
            };

            return(result);
        }