public void AppropriateDefaultsAreSet() { ManageableConfigurationSourceElement element = new ManageableConfigurationSourceElement(); Assert.AreEqual(true, element.EnableGroupPolicies); Assert.AreEqual(string.Empty, element.FilePath); Assert.AreEqual("Application", element.ApplicationName); }
protected override void Arrange() { base.Arrange(); Mock<AssemblyLocator> assemblyLocator = new Mock<AssemblyLocator>(); assemblyLocator.Setup(x => x.Assemblies).Returns(new Assembly[] { typeof(ManageableConfigurationSourceElement).Assembly }); this.Container.RegisterType<ManageableConfigurationSourceViewModel>( new InjectionConstructor( typeof(ElementCollectionViewModel), typeof(ConfigurationElement), new InjectionParameter<AssemblyLocator>(assemblyLocator.Object))); targetFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "manageableSourcetextnp.config"); File.Create(targetFilePath).Dispose(); File.WriteAllText(targetFilePath, "<configuration/>"); var source = new DesignConfigurationSource(targetFilePath); ConfigurationSourceElement = new ManageableConfigurationSourceElement { Name = "manageable", FilePath = "file.config", ConfigurationManageabilityProviders = { new ConfigurationSectionManageabilityProviderData { Name = "provider", TypeName = typeof(object).AssemblyQualifiedName } } }; var section = new ConfigurationSourceSection { SelectedSource = "manageable", Sources = { ConfigurationSourceElement } }; source.AddLocalSection(ConfigurationSourceSection.SectionName, section); var sourceModel = this.Container.Resolve<ConfigurationSourceModel>(); sourceModel.Load(source); SectionViewModel = sourceModel.Sections.Where(x => x.ConfigurationType == typeof(ConfigurationSourceSection)).Single(); ConfigurationSourceViewModel = SectionViewModel.GetDescendentsOfType<ManageableConfigurationSourceElement>().FirstOrDefault(); ConfigurationSourceElement = (ManageableConfigurationSourceElement)ConfigurationSourceViewModel.ConfigurationElement; }
protected override void Arrange() { base.Arrange(); base.Arrange(); var resourceHelper = new ResourceHelper<ConfigFiles.ConfigFileLocator>(); mainFilePath = resourceHelper.DumpResourceFileToDisk("empty.config", "ds_mgmt_subdir_path"); mainConfigurationSource = new DesignConfigurationSource(mainFilePath); configurationSourceElement = new ManageableConfigurationSourceElement("relativefile", "subdir\\relative.config", "app"); var mainFileDirectory = Path.GetDirectoryName(mainFilePath); expectedFilePath = Path.Combine(mainFileDirectory, configurationSourceElement.FilePath); Directory.CreateDirectory(Path.GetDirectoryName(expectedFilePath)); }
public void ConfigurationElementWithNoProvidersCanBeSerialized() { string otherConfigurationFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Other.config"); ExeConfigurationFileMap configMap = new ExeConfigurationFileMap(); configMap.ExeConfigFilename = otherConfigurationFile; File.Copy(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile, otherConfigurationFile); try { System.Configuration.Configuration rwConfiguration = ConfigurationManager.OpenMappedExeConfiguration(configMap, ConfigurationUserLevel.None); ConfigurationSourceSection rwConfigurationSourceSection = rwConfiguration.GetSection(ConfigurationSourceSection.SectionName) as ConfigurationSourceSection; rwConfigurationSourceSection.Sources.Clear(); ManageableConfigurationSourceElement rwConfigurationSourceElement = new ManageableConfigurationSourceElement("manageable", otherConfigurationFile, "TestApplication"); rwConfigurationSourceSection.Sources.Add(rwConfigurationSourceElement); rwConfiguration.Save(); System.Configuration.Configuration roConfiguration = ConfigurationManager.OpenMappedExeConfiguration(configMap, ConfigurationUserLevel.None); ConfigurationSourceSection roConfigurationSourceSection = roConfiguration.GetSection(ConfigurationSourceSection.SectionName) as ConfigurationSourceSection; Assert.IsNotNull(roConfigurationSourceSection); Assert.AreEqual(1, roConfigurationSourceSection.Sources.Count); ManageableConfigurationSourceElement roConfigurationSourceElement = roConfigurationSourceSection.Sources.Get("manageable") as ManageableConfigurationSourceElement; Assert.IsNotNull(roConfigurationSourceElement); Assert.AreEqual(0, roConfigurationSourceElement.ConfigurationManageabilityProviders.Count); } finally { if (File.Exists(otherConfigurationFile)) { File.Delete(otherConfigurationFile); } } }
[Ignore] // TODO temporary ignore public void CanCreateConfigurationSourceFromConfigurationElement() { ManageableConfigurationSourceElement element = new ManageableConfigurationSourceElement( "manageable", AppDomain.CurrentDomain.SetupInformation.ConfigurationFile, "testapp", true); element.ConfigurationManageabilityProviders.Add(new ConfigurationSectionManageabilityProviderData("section1", typeof(MockConfigurationSectionManageabilityProvider))); element.ConfigurationManageabilityProviders.Get(0).ManageabilityProviders.Add(new ConfigurationElementManageabilityProviderData("1", typeof(MockConfigurationElementManageabilityProvider), typeof(String))); element.ConfigurationManageabilityProviders.Add(new ConfigurationSectionManageabilityProviderData("section2", typeof(MockConfigurationSectionManageabilityProvider))); element.ConfigurationManageabilityProviders.Get(1).ManageabilityProviders.Add(new ConfigurationElementManageabilityProviderData("2", typeof(MockConfigurationElementManageabilityProvider), typeof(Boolean))); element.ConfigurationManageabilityProviders.Get(1).ManageabilityProviders.Add(new ConfigurationElementManageabilityProviderData("3", typeof(MockConfigurationElementManageabilityProvider), typeof(Int32))); IConfigurationSource configurationSource = element.CreateSource(); Assert.IsNotNull(configurationSource); Assert.AreSame(typeof(ManageableConfigurationSource), configurationSource.GetType()); ManageableConfigurationSourceImplementation implementation = ((ManageableConfigurationSource)configurationSource).Implementation; Assert.AreSame(typeof(ManageabilityHelper), implementation.ManageabilityHelper.GetType()); ManageabilityHelper manageabilityHelper = (ManageabilityHelper)implementation.ManageabilityHelper; Assert.AreEqual(2, manageabilityHelper.ManageabilityProviders.Count); }