public void OpenAndSaveTest() { GeneratedHierarchy.Load(); Assert.AreEqual(0, ConfigurationErrorLogService.ConfigurationErrors.Count); GeneratedHierarchy.Open(); Assert.AreEqual(0, ConfigurationErrorLogService.ConfigurationErrors.Count); CacheManagerSettingsNode rootNode = (CacheManagerSettingsNode)GeneratedHierarchy.FindNodeByType(typeof(CacheManagerSettingsNode)); Assert.IsNotNull(rootNode); Assert.AreEqual("InMemoryPersistence", rootNode.DefaultCacheManager.Name); rootNode.DefaultCacheManager.Name = "BadData"; GeneratedHierarchy.Save(); Assert.AreEqual(0, ConfigurationErrorLogService.ConfigurationErrors.Count); ApplicationData data = ApplicationData.FromCurrentAppDomain(); ApplicationConfigurationNode applicationNode = new ApplicationConfigurationNode(data); IUIHierarchy newHierarchy = CreateHierarchyAndAddToHierarchyService(applicationNode, CreateDefaultConfiguration()); HierarchyService.SelectedHierarchy = newHierarchy; newHierarchy.Open(); Assert.AreEqual(0, ConfigurationErrorLogService.ConfigurationErrors.Count); rootNode = (CacheManagerSettingsNode)newHierarchy.FindNodeByType(typeof(CacheManagerSettingsNode)); Assert.AreEqual("BadData", rootNode.DefaultCacheManager.Name); rootNode.DefaultCacheManager.Name = "InMemoryPersistence"; newHierarchy.Save(); }
public void ConfigurationFileTest() { ApplicationData applicationData = ApplicationData.FromCurrentAppDomain(); ApplicationConfigurationNode node = new ApplicationConfigurationNode(applicationData); CreateHierarchyAndAddToHierarchyService(node, new ConfigurationContext(node.ConfigurationFile)); Assert.AreEqual(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile, node.ConfigurationFile); }
public override void SetUp() { base.SetUp(); ApplicationData data = ApplicationData.FromCurrentAppDomain(); applicationNode = new ApplicationConfigurationNode(data); CreateHierarchyAndAddToHierarchyService(applicationNode, CreateDefaultConfiguration()); }
/// <summary> /// <para>Edits the value of the specified object using the editor style indicated by <seealso cref="UITypeEditor.GetEditStyle(ITypeDescriptorContext)"/>.</para> /// </summary> /// <param name="context">An <see cref="ITypeDescriptorContext"/> that can be used to gain additional context information. </param> /// <param name="provider">An <see cref="IServiceProvider"/> that this editor can use to obtain services.</param> /// <param name="value">The object to edit.</param> /// <returns>The new value of the object.</returns> public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { Debug.Assert(provider != null, "No service provider; we cannot edit the value"); if (provider != null) { IWindowsFormsEditorService service = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); Debug.Assert(service != null, "No editor service; we cannot edit the value"); if (service != null) { ConfigurationNode currentNode = (ConfigurationNode)context.Instance; ApplicationConfigurationNode appNode = GetApplicationNode(currentNode); ReferenceEditorUI control = new ReferenceEditorUI(appNode, GetReferenceType(context), (ConfigurationNode)value, service, IsRequired(context)); service.DropDownControl(control); if (control.SelectedNode != null) { Type propertyType = context.PropertyDescriptor.PropertyType; Type selectedNodeType = control.SelectedNode.GetType(); if (propertyType == selectedNodeType || selectedNodeType.IsSubclassOf(propertyType)) { return(control.SelectedNode); } } } } return(null); }
public void Initialize() { SolutionConfigurationNode node = new SolutionConfigurationNode(); ApplicationData applicationData = ApplicationData.FromCurrentAppDomain(); appNode = new ApplicationConfigurationNode(applicationData.Name, applicationData); appNode.Load(null); fileManager = new FileManager(node); }
public void NameTest() { string name = "MyBlock"; ApplicationData applicationData = ApplicationData.FromCurrentAppDomain(); applicationData.Name = name; ApplicationConfigurationNode node = new ApplicationConfigurationNode(applicationData); CreateHierarchyAndAddToHierarchyService(node, new ConfigurationContext(node.ConfigurationFile)); Assert.AreEqual(name, node.Name); }
public override void SetUp() { base.SetUp(); ApplicationData data = ApplicationData.FromCurrentAppDomain(); applicationNode = new ApplicationConfigurationNode(data); CreateHierarchyAndAddToHierarchyService(applicationNode, CreateDefaultConfiguration()); CachingConfigurationDesignManager manager = new CachingConfigurationDesignManager(); manager.Register(Host); }
public void Register() { ConfigurationDesignManager manager = new ConfigurationDesignManager(); ApplicationData data = ApplicationData.FromCurrentAppDomain(); ApplicationConfigurationNode applicationNode = new ApplicationConfigurationNode(data.Name, data); manager.Register(applicationNode, null); Assert.AreEqual(1, applicationNode.NewCommand.SubCommands.Count); }
public void FindTypeNodeInHierarchy() { ApplicationData applicationData = ApplicationData.FromCurrentAppDomain(); ApplicationConfigurationNode applicationNode = new ApplicationConfigurationNode(applicationData); IUIHierarchy hierarchy = CreateHierarchyAndAddToHierarchyService(applicationNode, new ConfigurationContext(applicationNode.ConfigurationFile)); MyConfigNode configNode = new MyConfigNode("MyBlock"); applicationNode.Nodes.Add(configNode); ConfigurationNode node = hierarchy.FindNodeByType(typeof(MyConfigNode)); Assert.IsNotNull(node); Assert.AreSame(configNode, node); }
public void RegisterTest() { CachingDatabaseConfigurationDesignManager manager = new CachingDatabaseConfigurationDesignManager(); ApplicationData data = ApplicationData.FromCurrentAppDomain(); ApplicationConfigurationNode node = new ApplicationConfigurationNode(data); CreateHierarchyAndAddToHierarchyService(node, CreateDefaultConfiguration()); manager.Register(Host); DataCacheStorageNode testNode = NodeCreationService.CreateNode(typeof(DataCacheStorageData), new object[] {new DataCacheStorageData()}) as DataCacheStorageNode; Assert.IsNotNull(testNode); }
public void BuildContextTest() { ApplicationData data = ApplicationData.FromCurrentAppDomain(); ApplicationConfigurationNode applicationNode = new ApplicationConfigurationNode(data); CreateHierarchyAndAddToHierarchyService(applicationNode, CreateDefaultConfiguration()); DataConfigurationDesignManager b = new DataConfigurationDesignManager(); b.Register(Host); b.Open(Host); ConfigurationDictionary dictionary = new ConfigurationDictionary(); b.BuildContext(Host, dictionary); Assert.AreEqual(1, dictionary.Count); Assert.IsTrue(dictionary.Contains("dataConfiguration")); }
public void SaveDefaultAuthenticationProviderAndSaveAndReloadsCorrectly() { GeneratedHierarchy.Load(); AddConfigurationSectionCommand cmd = new AddConfigurationSectionCommand(Host, typeof(SecuritySettingsNode), SecuritySettings.SectionName); cmd.Execute(GeneratedApplicationNode); SecuritySettingsNode securitySettingsNode = GeneratedHierarchy.FindNodeByType(typeof(SecuritySettingsNode)) as SecuritySettingsNode; Assert.IsNotNull(securitySettingsNode); AuthenticationProviderCollectionNode authenticationProviderCollectionNode = GeneratedHierarchy.FindNodeByType(securitySettingsNode, typeof(AuthenticationProviderCollectionNode)) as AuthenticationProviderCollectionNode; Assert.IsNotNull(authenticationProviderCollectionNode); AddChildNodeCommand addChildNodeCommand = new AddChildNodeCommand(Host, typeof(DbAuthenticationProviderNode)); addChildNodeCommand.Execute(authenticationProviderCollectionNode); Assert.AreEqual(typeof(DbAuthenticationProviderNode), addChildNodeCommand.ChildNode.GetType()); DbAuthenticationProviderNode dbAuthenticationProviderNode = (DbAuthenticationProviderNode)addChildNodeCommand.ChildNode; securitySettingsNode.DefaultAuthenticationInstance = (AuthenticationProviderNode)addChildNodeCommand.ChildNode; addChildNodeCommand = new AddChildNodeCommand(Host, typeof(HashAlgorithmProviderNode)); CryptographySettingsNode cryptographySettingsNode = GeneratedHierarchy.FindNodeByType(typeof(CryptographySettingsNode)) as CryptographySettingsNode; Assert.IsNotNull(cryptographySettingsNode); HashProviderCollectionNode hashProviderCollectionNode = GeneratedHierarchy.FindNodeByType(typeof(HashProviderCollectionNode)) as HashProviderCollectionNode; Assert.IsNotNull(hashProviderCollectionNode); addChildNodeCommand.Execute(hashProviderCollectionNode); Assert.AreEqual(typeof(HashAlgorithmProviderNode), addChildNodeCommand.ChildNode.GetType()); dbAuthenticationProviderNode.HashProvider = (HashProviderNode)addChildNodeCommand.ChildNode; DatabaseSettingsNode databaseSettingsNode = GeneratedHierarchy.FindNodeByType(typeof(DatabaseSettingsNode)) as DatabaseSettingsNode; Assert.IsNotNull(databaseSettingsNode); InstanceCollectionNode instanceCollectionNode = GeneratedHierarchy.FindNodeByType(databaseSettingsNode, typeof(InstanceCollectionNode)) as InstanceCollectionNode; Assert.IsNotNull(instanceCollectionNode); Assert.IsTrue(instanceCollectionNode.Nodes.Count > 0); InstanceNode instanceNode = (InstanceNode)instanceCollectionNode.Nodes[0]; dbAuthenticationProviderNode.Database = instanceNode; ValidateNodeCommand validateNodeCommand = new ValidateNodeCommand(Host); validateNodeCommand.Execute(GeneratedApplicationNode); Assert.AreEqual(0, ConfigurationErrorsCount); SaveApplicationConfigurationNodeCommand saveCmd = new SaveApplicationConfigurationNodeCommand(Host); saveCmd.Execute(GeneratedApplicationNode); ApplicationConfigurationNode applicationConfigurationNode = new ApplicationConfigurationNode(ApplicationData.FromCurrentAppDomain()); IUIHierarchy hierarchy = CreateHierarchyAndAddToHierarchyService(applicationConfigurationNode, CreateDefaultConfiguration()); HierarchyService.SelectedHierarchy = hierarchy; hierarchy.Open(); }
private ConfigurationSectionCollectionNode SelectConfigurationSectionsNode() { IUIHierarchy hierarchy = UIHierarchyService.SelectedHierarchy; ApplicationConfigurationNode applicationNode = hierarchy.RootNode as ApplicationConfigurationNode; Debug.Assert(applicationNode != null, "Expected an application node to be root for this node."); ConfigurationSectionCollectionNode sectionsNode = (ConfigurationSectionCollectionNode)hierarchy.FindNodeByType(hierarchy.RootNode, typeof(ConfigurationSectionCollectionNode)); if (sectionsNode == null) { sectionsNode = new ConfigurationSectionCollectionNode(); applicationNode.Nodes.AddWithDefaultChildren(sectionsNode); } return(sectionsNode); }
/// <summary> /// <para>Creates a new <see cref="ApplicationConfigurationNode"/> object and adds it to the solution.</para> /// </summary> /// <param name="node"> /// <para>The <see cref="ApplicationConfigurationNode"/> is the root of an <see cref="IUIHierarchy"/> so the <paramref name="node"/> is not used, so passing <see langword="null"/> is expected.</para> /// </param> protected override void ExecuteCore(ConfigurationNode node) { try { UIService.BeginUpdate(); ApplicationConfigurationNode appNode = new ApplicationConfigurationNode(applicationData); IUIHierarchy hierarchy = ConfigurationUIHierarchyFactory.Create(appNode, ServiceProvider); UIHierarchyService.AddHierarchy(hierarchy); UIService.SetUIDirty(hierarchy); } finally { UIService.EndUpdate(); } }
public void BuildContext() { ApplicationData data = ApplicationData.FromCurrentAppDomain(); ApplicationConfigurationNode applicationNode = new ApplicationConfigurationNode(data.Name, data); ConfigurationDesignManager manager = new ConfigurationDesignManager(); manager.Register(applicationNode, null); foreach (ConfigurationNodeCommand command in applicationNode.NewCommand.SubCommands) { command.Execute(); } ConfigurationDictionary dictionary = new ConfigurationDictionary(); manager.BuildContext(applicationNode, dictionary); Assert.AreEqual(1, dictionary.Count); Assert.IsTrue(dictionary.Contains(CryptographySettings.SectionName)); }
private DialogResult GetApplicationFileFromUI() { ApplicationConfigurationNode node = (ApplicationConfigurationNode)ServiceHelper.GetCurrentRootNode(ServiceProvider); SaveFileDialog dialog = new SaveFileDialog(); dialog.Filter = SR.ConfigurationFileDialogFilter; dialog.Title = System.String.Concat(SR.SaveApplicationCaption, " : ", node.Name); IUIService uiService = ServiceHelper.GetUIService(ServiceProvider); System.Windows.Forms.DialogResult result = uiService.ShowSaveDialog(dialog); if (System.Windows.Forms.DialogResult.OK == result) { FileName = dialog.FileName; node.ConfigurationFile = FileName; node.Hierarchy.StorageTable.MetaConfigurationFile = FileName; } return(result); }
public void RemovingDistributionStrategySavesAndReopensCorrectly() { GeneratedHierarchy.Open(); LoggingSettingsNode node = new LoggingSettingsNode(); GeneratedApplicationNode.Nodes.AddWithDefaultChildren(node); ClientSettingsNode clientSettingsNode = GeneratedHierarchy.FindNodeByType(node, typeof(ClientSettingsNode)) as ClientSettingsNode; DistributionStrategyCollectionNode distributions = GeneratedHierarchy.FindNodeByType(clientSettingsNode, typeof(DistributionStrategyCollectionNode)) as DistributionStrategyCollectionNode; distributions.Nodes.AddWithDefaultChildren(new MsmqDistributionStrategyNode()); GeneratedHierarchy.Save(); ApplicationConfigurationNode appNode = new ApplicationConfigurationNode(ApplicationData.FromCurrentAppDomain()); IUIHierarchy hierarchy = CreateHierarchyAndAddToHierarchyService(appNode, CreateDefaultConfiguration()); HierarchyService.SelectedHierarchy = hierarchy; hierarchy.Open(); LoggingSettingsNode settingsNode = hierarchy.FindNodeByType(typeof(LoggingSettingsNode)) as LoggingSettingsNode; Assert.IsNotNull(settingsNode); distributions = hierarchy.FindNodeByType(appNode, typeof(DistributionStrategyCollectionNode)) as DistributionStrategyCollectionNode; Assert.IsNotNull(distributions); MsmqDistributionStrategyNode msmqDistributionStrategyNode = hierarchy.FindNodeByType(distributions, typeof(MsmqDistributionStrategyNode)) as MsmqDistributionStrategyNode; Assert.IsNotNull(msmqDistributionStrategyNode); // expect 3, inproc, MSMQ, and custom Assert.AreEqual(3, distributions.Nodes.Count); InProcDistributionStrategyNode inProcNode = hierarchy.FindNodeByType(distributions, typeof(InProcDistributionStrategyNode)) as InProcDistributionStrategyNode; Assert.IsNotNull(inProcNode); inProcNode.Remove(); hierarchy.Save(); appNode = new ApplicationConfigurationNode(ApplicationData.FromCurrentAppDomain()); hierarchy = CreateHierarchyAndAddToHierarchyService(appNode, CreateDefaultConfiguration()); HierarchyService.SelectedHierarchy = hierarchy; hierarchy.Open(); settingsNode = hierarchy.FindNodeByType(typeof(LoggingSettingsNode)) as LoggingSettingsNode; Assert.IsNotNull(settingsNode); distributions = hierarchy.FindNodeByType(appNode, typeof(DistributionStrategyCollectionNode)) as DistributionStrategyCollectionNode; Assert.IsNotNull(distributions); // expect 2, inproc & custom Assert.AreEqual(2, distributions.Nodes.Count); }
public override void SetUp() { base.SetUp (); ApplicationConfigurationNode appNode = new ApplicationConfigurationNode(ApplicationData.FromCurrentAppDomain()); loggingHierarchy = CreateHierarchyAndAddToHierarchyService(appNode, CreateDefaultConfiguration()); HierarchyService.SelectedHierarchy = loggingHierarchy; loggingHierarchy.Open(); HierarchyService.SelectedHierarchy = GeneratedHierarchy; }
public void RenamingOneDistributionStrategyLeavesOnlyOneStrategy() { string name = "Test Custom Strategy 1"; GeneratedHierarchy.Open(); LoggingSettingsNode node = new LoggingSettingsNode(); GeneratedApplicationNode.Nodes.AddWithDefaultChildren(node); DistributionStrategyCollectionNode distributionStrategyCollectionNode = GeneratedHierarchy.FindNodeByType(typeof(DistributionStrategyCollectionNode)) as DistributionStrategyCollectionNode; Assert.IsNotNull(distributionStrategyCollectionNode); distributionStrategyCollectionNode.Nodes.Clear(); CustomDistributionStrategyNode customNode = new CustomDistributionStrategyNode(); distributionStrategyCollectionNode.Nodes.AddWithDefaultChildren(customNode); customNode.TypeName = typeof(InProcDistributionStrategyData).AssemblyQualifiedName; customNode.Name = name; GeneratedHierarchy.Save(); ApplicationConfigurationNode appNode = new ApplicationConfigurationNode(ApplicationData.FromCurrentAppDomain()); IUIHierarchy hierarchy = CreateHierarchyAndAddToHierarchyService(appNode, CreateDefaultConfiguration()); HierarchyService.SelectedHierarchy = hierarchy; hierarchy.Open(); LoggingSettingsNode settingsNode = hierarchy.FindNodeByType(typeof(LoggingSettingsNode)) as LoggingSettingsNode; Assert.IsNotNull(settingsNode); distributionStrategyCollectionNode = hierarchy.FindNodeByType(appNode, typeof(DistributionStrategyCollectionNode)) as DistributionStrategyCollectionNode; Assert.IsNotNull(distributionStrategyCollectionNode); ConfigurationNode [] nodes = hierarchy.FindNodesByType(distributionStrategyCollectionNode, typeof(CustomDistributionStrategyNode)); Assert.AreEqual(1, nodes.Length); Assert.AreEqual(name, nodes[0].Name); }
public void OpenAndSaveTest() { GeneratedHierarchy.Open(); Assert.AreEqual(0, ConfigurationErrorsCount); ConfigurationNode rootNode = GeneratedHierarchy.FindNodeByType(typeof(DistributorSettingsNode)); Assert.IsNotNull(rootNode); Assert.AreEqual(typeof(DistributorSettingsNode), rootNode.GetType()); GeneratedHierarchy.Save(); ApplicationConfigurationNode node = new ApplicationConfigurationNode(ApplicationData.FromCurrentAppDomain()); IUIHierarchy hierarchy = CreateHierarchyAndAddToHierarchyService(node, CreateDefaultConfiguration()); HierarchyService.SelectedHierarchy = hierarchy; hierarchy.Open(); Assert.AreEqual(0, ConfigurationErrorsCount); Assert.IsTrue(hierarchy.ConfigurationContext.IsValidSection(DistributorSettings.SectionName)); }