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()); }
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)); }); }
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); }