public void SectionNameTest() { using (ConfigurationContext configurationContext = CreateConfigurationContext(XmlString)) { StorageProviderFactory factory = new StorageProviderFactory(configurationContext); IStorageProviderWriter storage = factory.Create(applConfig1) as IStorageProviderWriter; Assert.AreEqual(applConfig1, ((XmlFileStorageProvider)storage).CurrentSectionName); } }
public void WriteNonXmlNodeValueTest() { using (ConfigurationContext configurationContext = CreateConfigurationContext(XmlString)) { StorageProviderFactory factory = new StorageProviderFactory(configurationContext); IStorageProviderWriter storage = factory.Create(applConfig1) as IStorageProviderWriter; Assert.AreSame(storage.GetType(), typeof(XmlFileStorageProvider)); storage.Write(new object()); } }
public void StorageBadFileTest() { using (ConfigurationContext configurationContext = CreateConfigurationContext(XmlBadFileString)) { StorageProviderFactory factory = new StorageProviderFactory(configurationContext); IStorageProviderWriter storage = factory.Create(applConfig1) as IStorageProviderWriter; Assert.AreSame(storage.GetType(), typeof(XmlFileStorageProvider)); storage.Write(GetData()); } }
private IStorageProviderWriter GetConfigurationStorageWriter(string sectionName) { IStorageProviderReader configStorageReader = CreateStorageProvider(sectionName); IStorageProviderWriter configStorageWriter = configStorageReader as IStorageProviderWriter; if (configStorageWriter == null) { throw new ConfigurationException(SR.ExceptionHandlerNotWritable(sectionName)); } return(configStorageWriter); }
public void BadFilePathStorageTest() { using (ConfigurationContext configurationContext = CreateConfigurationContext(XmlBadFilePathString)) { StorageProviderFactory factory = new StorageProviderFactory(configurationContext); IStorageProviderWriter storage = factory.Create(applConfig1) as IStorageProviderWriter; Assert.AreSame(storage.GetType(), typeof(XmlFileStorageProvider)); storage.Write(GetData()); Assert.Fail("Should never get here since the file is not specified in configuration."); } }
/// <summary> /// <para> /// Write configuration for a section to storage. /// </para> /// </summary> /// <param name="sectionName"> /// <para>The name of the section for the configuration data.</para> /// </param> /// <param name="configValue"> /// <para>The configuration value to store.</para> /// </param> /// <exception cref="ConfigurationException"> /// <para><paramref name="sectionName"/> is not valid section for this configuration.</para> /// <para>- or -</para> /// <para>The section data is read only.</para> /// <para>- or -</para> /// <para>An error occured while reading the configuration to save the data.</para> /// </exception> public void WriteConfiguration(string sectionName, object configValue) { ValidateSection(sectionName); ConfigurationChangingEventArgs args = CreateConfigurationChangingEventArgs(sectionName, configValue); OnConfigurationChanging(args); if (!args.Cancel) { IStorageProviderWriter configStorageWriter = GetConfigurationStorageWriter(sectionName); object writeData = GetSerializedDataToWrite(sectionName, configValue); ConfigurationWriterActionCommand writerActionCommand = new ConfigurationWriterActionCommand(configStorageWriter, writeData); sections.UpdateSection(sectionName, writerActionCommand, configValue); ConfigurationChangedEventArgs changedArgs = new ConfigurationChangedEventArgs(configFile.FileName, sectionName); OnConfigurationChanged(changedArgs); } }
public void StorageTestChangeEncryption() { SaveKeyAlgorithmPair(XmlStringWithEncryption); using (ConfigurationContext configurationContext = CreateConfigurationContext(XmlStringWithEncryption)) { StorageProviderFactory factory = new StorageProviderFactory(configurationContext); IStorageProviderReader storage = factory.Create(applConfig1) as IStorageProviderReader; Assert.AreSame(storage.GetType(), typeof(XmlFileStorageProvider)); ((IStorageProviderWriter)storage).Write(GetData()); configurationContext.GetMetaConfiguration().ConfigurationSections[0].Encrypt = false; factory = new StorageProviderFactory(configurationContext); IStorageProviderWriter storageWriter = factory.Create(applConfig1) as IStorageProviderWriter; storageWriter.Write(GetData()); XmlNode data = storageWriter.Read() as XmlNode; Assert.AreEqual(GetData().OuterXml, data.OuterXml); } }
public ConfigurationWriterActionCommand(IStorageProviderWriter writer, object configurationData) { this.writer = writer; this.configurationData = configurationData; }