public void CopyConfigToAppSettings(IWebConfigWriter webConfigWriter) { if (webConfigWriter == null) { throw new ArgumentNullException(nameof(webConfigWriter), "The web config writer is required"); } foreach (KeyValuePair <string, string> pair in _webConfigReader.GetAppSettings()) { var updatedValue = _config.GetValue <string>(pair.Key); if (updatedValue != null) { webConfigWriter.SetAppSetting(pair.Key, updatedValue); } } }
public void CopyExternalAppSettings(IWebConfigWriter webConfigWriter) { if (webConfigWriter == null) { throw new ArgumentNullException(nameof(webConfigWriter), "WebConfig writer is required"); } foreach (var appSetting in _webConfigReader.GetAppSettings()) { var value = _config[$"appSettings:{appSetting.Key}"]; if (!string.IsNullOrEmpty(value)) { webConfigWriter.SetAppSetting(appSetting.Key, value); } } }
public AppSettingsInitializerTests() { _webConfigWriter = Substitute.For <IWebConfigWriter>(); _webConfigReader = Substitute.For <IWebConfigReader>(); var existingAppSettings = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("app_setting_1", "old_value1"), new KeyValuePair <string, string>("app_setting_2", "old_value2") }; _webConfigReader.GetAppSettings().Returns(existingAppSettings.AsReadOnly()); _config = new ConfigurationBuilder().AddInMemoryCollection(new Dictionary <string, string> { { "app_setting_2", "new_value_2" }, { "app_setting_3", "new_value_3" } }).Build(); }