public void TestReadWriteValues_Xml() { Type settingsClass = typeof(LocalXmlSettings); SystemConfigurationHelper.RemoveSettingsValues(SystemConfigurationHelper.GetExeConfiguration(), settingsClass); try { var values = SystemConfigurationHelper.GetSettingsValues(GetExeConfiguration(), settingsClass); Assert.AreEqual(0, values.Count); values = new Dictionary <string, string>(); values[LocalXmlSettings.PropertyUser] = LocalXmlSettings.DefaultValueUser; values[LocalXmlSettings.PropertyApp] = LocalXmlSettings.DefaultValueApp; SystemConfigurationHelper.PutSettingsValues(SystemConfigurationHelper.GetExeConfiguration(), settingsClass, values); values = SystemConfigurationHelper.GetSettingsValues(GetExeConfiguration(), settingsClass); Assert.AreEqual(1, values.Count); LocalXmlSettings settings = (LocalXmlSettings)ApplicationSettingsHelper.GetSettingsClassInstance(settingsClass); Assert.IsNull(ApplicationSettingsExtensions.GetSharedPropertyValue(settings, LocalXmlSettings.PropertyUser)); XmlDocument defaultDoc = new XmlDocument(); defaultDoc.LoadXml(LocalXmlSettings.DefaultValueApp); Assert.AreEqual(defaultDoc.DocumentElement.OuterXml, settings.App.DocumentElement.OuterXml); } finally { SystemConfigurationHelper.RemoveSettingsValues(SystemConfigurationHelper.GetExeConfiguration(), settingsClass); } }
public void TestWriteEmptyString_Xml() { Type settingsClass = typeof(LocalXmlSettings); SystemConfigurationHelper.RemoveSettingsValues(SystemConfigurationHelper.GetExeConfiguration(), settingsClass); try { var values = SystemConfigurationHelper.GetSettingsValues(GetExeConfiguration(), settingsClass); Assert.AreEqual(0, values.Count); values = new Dictionary <string, string>(); values[LocalXmlSettings.PropertyApp] = ""; SystemConfigurationHelper.PutSettingsValues(SystemConfigurationHelper.GetExeConfiguration(), settingsClass, values); values = SystemConfigurationHelper.GetSettingsValues(GetExeConfiguration(), settingsClass); Assert.AreEqual(1, values.Count); Assert.AreEqual("", values[LocalXmlSettings.PropertyApp]); //For xml values, empty string means "default". LocalXmlSettings settings = (LocalXmlSettings)ApplicationSettingsHelper.GetSettingsClassInstance(settingsClass); XmlDocument defaultDoc = new XmlDocument(); defaultDoc.LoadXml(LocalXmlSettings.DefaultValueApp); Assert.AreEqual(defaultDoc.DocumentElement.OuterXml, settings.App.DocumentElement.OuterXml); } finally { SystemConfigurationHelper.RemoveSettingsValues(SystemConfigurationHelper.GetExeConfiguration(), settingsClass); } }
public void TestLocalSharedSettingsMigration() { Type settingsClass = typeof(LocalMixedScopeSettings); var configuration = SystemConfigurationHelper.GetExeConfiguration(); var values = CreateSettingsValues(settingsClass, MigrationScope.Shared, SettingValue.Current); SystemConfigurationHelper.PutSettingsValues(configuration, settingsClass, values); string directory = Path.GetDirectoryName(configuration.FilePath); string previousExeFilename = String.Format("{0}{1}Previous.exe.config", directory, Path.DirectorySeparatorChar); try { TestConfigResourceToFile(previousExeFilename); ValidateLocalMixedScopeSettingsValuesInConfig(configuration, SettingValue.Current); SettingsMigrator.MigrateSharedSettings(settingsClass, previousExeFilename); configuration = SystemConfigurationHelper.GetExeConfiguration(); ValidateLocalMixedScopeSettingsValuesInConfig(configuration, SettingValue.Previous); } finally { File.Delete(previousExeFilename); SystemConfigurationHelper.RemoveSettingsValues(configuration, settingsClass); } }
public void TestReadStringSettings() { Type settingsClass = typeof(LocalMixedScopeSettings); var settings = ApplicationSettingsHelper.GetSettingsClassInstance(settingsClass); ApplicationSettingsExtensions.SetSharedPropertyValue(settings, LocalMixedScopeSettings.PropertyApp1, "TestApp1"); ApplicationSettingsExtensions.SetSharedPropertyValue(settings, LocalMixedScopeSettings.PropertyApp2, "TestApp2"); ApplicationSettingsExtensions.SetSharedPropertyValue(settings, LocalMixedScopeSettings.PropertyUser1, "TestUser1"); ApplicationSettingsExtensions.SetSharedPropertyValue(settings, LocalMixedScopeSettings.PropertyUser2, "TestUser2"); var reader = new ConfigurationFileReader(SystemConfigurationHelper.GetExeConfiguration().FilePath); var path = new ConfigurationSectionPath(typeof(LocalMixedScopeSettings), SettingScope.Application); var values = reader.GetSettingsValues(path); Assert.AreEqual(2, values.Count); Assert.AreEqual("TestApp1", values[LocalMixedScopeSettings.PropertyApp1]); Assert.AreEqual("TestApp2", values[LocalMixedScopeSettings.PropertyApp2]); path = new ConfigurationSectionPath(typeof(LocalMixedScopeSettings), SettingScope.User); values = reader.GetSettingsValues(path); Assert.AreEqual(2, values.Count); Assert.AreEqual("TestUser1", values[LocalMixedScopeSettings.PropertyUser1]); Assert.AreEqual("TestUser2", values[LocalMixedScopeSettings.PropertyUser2]); SystemConfigurationHelper.RemoveSettingsValues(SystemConfigurationHelper.GetExeConfiguration(), settingsClass); }
public void TestReadNoSettings() { Type settingsClass = typeof(LocalMixedScopeSettings); SystemConfigurationHelper.RemoveSettingsValues(SystemConfigurationHelper.GetExeConfiguration(), settingsClass); var reader = new ConfigurationFileReader(SystemConfigurationHelper.GetExeConfiguration().FilePath); var path = new ConfigurationSectionPath(typeof(LocalMixedScopeSettings), SettingScope.Application); var values = reader.GetSettingsValues(path); Assert.AreEqual(0, values.Count); path = new ConfigurationSectionPath(typeof(LocalMixedScopeSettings), SettingScope.User); values = reader.GetSettingsValues(path); Assert.AreEqual(0, values.Count); }
public void TestMigrateXmlSettings() { Type settingsClass = typeof(LocalXmlSettings); var configuration = SystemConfigurationHelper.GetExeConfiguration(); var settings = (LocalXmlSettings)ApplicationSettingsHelper.GetSettingsClassInstance(settingsClass); XmlDocument document = new XmlDocument(); document.LoadXml((string)settings.Properties[LocalXmlSettings.PropertyApp].DefaultValue); var node = document.SelectSingleNode("//test"); node.InnerText = "CurrentApp"; Dictionary <string, string> values = new Dictionary <string, string>(); values[LocalXmlSettings.PropertyApp] = document.InnerXml; SystemConfigurationHelper.PutSettingsValues(configuration, settingsClass, values); string directory = Path.GetDirectoryName(configuration.FilePath); string previousExeFilename = String.Format("{0}{1}Previous.exe.config", directory, Path.DirectorySeparatorChar); try { TestConfigResourceToFile(previousExeFilename); SettingsMigrator.MigrateSharedSettings(settingsClass, previousExeFilename); configuration = SystemConfigurationHelper.GetExeConfiguration(); settings = (LocalXmlSettings)ApplicationSettingsHelper.GetSettingsClassInstance(settingsClass); settings.Reload(); document = (XmlDocument)ApplicationSettingsExtensions.GetSharedPropertyValue(settings, LocalXmlSettings.PropertyApp); Assert.AreEqual("PreviousApp", document.SelectSingleNode("//test").InnerXml); document = settings.App; Assert.AreEqual("PreviousApp", document.SelectSingleNode("//test").InnerXml); } finally { File.Delete(previousExeFilename); SystemConfigurationHelper.RemoveSettingsValues(configuration, settingsClass); } }
public void TestReadXmlSettings() { Type settingsClass = typeof(LocalXmlSettings); var settings = ApplicationSettingsHelper.GetSettingsClassInstance(settingsClass); var appValue = @"<test><app/></test>"; XmlDocument appDocument = new XmlDocument(); appDocument.LoadXml(appValue); ApplicationSettingsExtensions.SetSharedPropertyValue(settings, LocalXmlSettings.PropertyApp, appDocument); var userValue = @"<test><user/></test>"; XmlDocument userDocument = new XmlDocument(); userDocument.LoadXml(userValue); ApplicationSettingsExtensions.SetSharedPropertyValue(settings, LocalXmlSettings.PropertyUser, userDocument); var reader = new ConfigurationFileReader(SystemConfigurationHelper.GetExeConfiguration().FilePath); var path = new ConfigurationSectionPath(typeof(LocalXmlSettings), SettingScope.Application); var values = reader.GetSettingsValues(path); Assert.AreEqual(1, values.Count); XmlDocument testDocument = new XmlDocument(); testDocument.LoadXml(values[LocalXmlSettings.PropertyApp]); Assert.AreEqual(appDocument.InnerXml, testDocument.InnerXml); path = new ConfigurationSectionPath(typeof(LocalXmlSettings), SettingScope.User); values = reader.GetSettingsValues(path); Assert.AreEqual(1, values.Count); testDocument = new XmlDocument(); testDocument.LoadXml(values[LocalXmlSettings.PropertyUser]); Assert.AreEqual(userDocument.InnerXml, testDocument.InnerXml); SystemConfigurationHelper.RemoveSettingsValues(SystemConfigurationHelper.GetExeConfiguration(), settingsClass); }
private static void RemoveSettings() { SystemConfigurationHelper.RemoveSettingsValues(GetExeConfiguration(), _settingsClass); }