public void CanDeserializeSerializedConfiguration() { string sourceName1 = "source1"; string sourceName2 = "source2"; string sourceFile1 = "file 1"; ConfigurationSourceSection settings = new ConfigurationSourceSection(); FileConfigurationSource.ResetImplementation(sourceFile1, false); ConfigurationSourceElement data1 = new FileConfigurationSourceElement(sourceName1, sourceFile1); ConfigurationSourceElement data2 = new SystemConfigurationSourceElement(sourceName2); settings.Sources.Add(data1); settings.Sources.Add(data2); settings.SelectedSource = sourceName1; IDictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>(); sections[ConfigurationSourceSection.SectionName] = settings; IConfigurationSource configurationSource = ConfigurationTestHelper.SaveSectionsInFileAndReturnConfigurationSource(sections); ConfigurationSourceSection roSettigs = (ConfigurationSourceSection)configurationSource.GetSection(ConfigurationSourceSection.SectionName); Assert.IsNotNull(roSettigs); Assert.AreEqual(2, roSettigs.Sources.Count); Assert.AreEqual(sourceName1, roSettigs.SelectedSource); Assert.IsNotNull(roSettigs.Sources.Get(sourceName1)); Assert.AreSame(typeof(FileConfigurationSourceElement), roSettigs.Sources.Get(sourceName1).GetType()); Assert.AreEqual(sourceFile1, ((FileConfigurationSourceElement)roSettigs.Sources.Get(sourceName1)).FilePath); Assert.IsNotNull(roSettigs.Sources.Get(sourceName2)); Assert.AreSame(typeof(SystemConfigurationSourceElement), roSettigs.Sources.Get(sourceName2).GetType()); }
public void RequestForNameWithoutSectionThrows() { System.Configuration.Configuration configuration = ConfigurationTestHelper.GetConfigurationForCustomFile("test.exe.config"); configuration.Sections.Remove(ConfigurationSourceSection.SectionName); configuration.Save(); AppDomainSetup setupInfo = new AppDomainSetup(); setupInfo.ConfigurationFile = configuration.FilePath; setupInfo.ApplicationBase = AppDomain.CurrentDomain.SetupInformation.ApplicationBase; AppDomain newDomain = AppDomain.CreateDomain("test", null, setupInfo); try { ConfigurationSourceFactoryFixtureHelper helper = (ConfigurationSourceFactoryFixtureHelper)newDomain.CreateInstanceAndUnwrap(Assembly.GetExecutingAssembly().FullName, typeof(ConfigurationSourceFactoryFixtureHelper).FullName); helper.RequestForNameWithoutSectionThrows(); } finally { AppDomain.Unload(newDomain); } }