private void InitializeDialog(CategoryFilterEditorUI dialog, ClientSettingsNode node) { dialog.FilterMode = node.CategoryFilterSettings.CategoryFilterMode; SetCategoryFilterSettings(dialog, node); SetAvailableCategoryNames(dialog, node); }
public void ClientSettingsDefaultChildNodesTest() { ClientSettingsNode node = new ClientSettingsNode(); GeneratedApplicationNode.Nodes.AddWithDefaultChildren(node); Assert.AreEqual(1, node.Nodes.Count); Assert.AreEqual(typeof(DistributionStrategyCollectionNode), node.Nodes[0].GetType()); }
private void SetCategoryFilterSettings(CategoryFilterEditorUI dialog, ClientSettingsNode node) { ArrayList selectedCategoryNames = new ArrayList(); foreach (CategoryFilterData categoryFilter in node.CategoryFilterSettings.CategoryFilters) { selectedCategoryNames.Add(categoryFilter.Name); } dialog.SetSelectedCategoryNames(selectedCategoryNames); }
public void DesigntimeTest() { LoggingSettings settings = ConfigurationManager.GetConfiguration(LoggingSettings.SectionName) as LoggingSettings; Assert.IsNotNull(settings); ClientSettingsNode settingsNode = new ClientSettingsNode(settings); GeneratedApplicationNode.Nodes.Add(settingsNode); Assert.AreEqual(settings.CategoryFilterMode, settingsNode.CategoryFilterSettings.CategoryFilterMode); Assert.AreEqual(settings.LoggingEnabled, settingsNode.LoggingEnabled); Assert.AreEqual(settings.MinimumPriority, settingsNode.MinimumPriority); Assert.AreEqual(settings.Name, settingsNode.Name); Assert.AreEqual(settings.TracingEnabled, settingsNode.TracingEnabled); }
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); }
/// <summary> /// Initializes and draws the category filter editor dialog and returns the results to the calling object. /// </summary> /// <param name="context">See <see cref="UITypeEditor.EditValue"/>.</param> /// <param name="provider">See <see cref="UITypeEditor.EditValue"/>.</param> /// <param name="value">See <see cref="UITypeEditor.EditValue"/>.</param> /// <returns>See <see cref="UITypeEditor.EditValue"/>.</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 edSvc = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); Debug.Assert(edSvc != null, "No editor service; we cannot edit the value"); if (edSvc != null) { IWindowsFormsEditorService service = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); CategoryFilterEditorUI dialog = new CategoryFilterEditorUI(); ClientSettingsNode currentSettings = (ClientSettingsNode)context.Instance; InitializeDialog(dialog, currentSettings); DialogResult dialogResult = service.ShowDialog(dialog); if (dialogResult != DialogResult.Cancel) { CategoryFilterMode categoryFilterMode = dialog.FilterMode; CategoryFilterDataCollection categoryFilters = new CategoryFilterDataCollection(); foreach (string category in dialog.GetSelectedCategoryNames()) { CategoryFilterData categoryFilter = new CategoryFilterData(); categoryFilter.Name = category; categoryFilters.Add(categoryFilter); } return(new CategoryFilterSettings(categoryFilterMode, categoryFilters)); } else { return(currentSettings.CategoryFilterSettings); } } } return(value); }
public void ClientSettingsNodeTest() { DistributionStrategyNode distributionStrategy = new InProcDistributionStrategyNode(); bool loggingEnabled = true; int minimumPriority = 1; bool tracingEnabled = true; ClientSettingsNode node = new ClientSettingsNode(); GeneratedApplicationNode.Nodes.Add(node); node.CategoryFilterSettings = new CategoryFilterSettings(CategoryFilterMode.DenyAllExceptAllowed, new CategoryFilterDataCollection()); node.DistributionStrategy = distributionStrategy; node.LoggingEnabled = loggingEnabled; node.MinimumPriority = minimumPriority; node.TracingEnabled = tracingEnabled; Assert.AreEqual(CategoryFilterMode.DenyAllExceptAllowed, node.CategoryFilterSettings.CategoryFilterMode); Assert.AreEqual(distributionStrategy, node.DistributionStrategy); Assert.AreEqual(loggingEnabled, node.LoggingEnabled); Assert.AreEqual(minimumPriority, node.MinimumPriority); Assert.AreEqual(tracingEnabled, tracingEnabled); }
public void ClientSettingsDataTest() { DistributionStrategyDataCollection distStrategies = new DistributionStrategyDataCollection(); DistributionStrategyData distData = new InProcDistributionStrategyData(); distData.Name = "Test"; distStrategies.Add(distData); LoggingSettings settings = new LoggingSettings(); settings.CategoryFilterMode = CategoryFilterMode.DenyAllExceptAllowed; settings.CategoryFilters = new CategoryFilterDataCollection(); foreach (DistributionStrategyData distributionStrategyData in distStrategies) { settings.DistributionStrategies.Add(distributionStrategyData); } settings.LoggingEnabled = true; settings.MinimumPriority = 0; settings.TracingEnabled = true; ClientSettingsNode node = new ClientSettingsNode(settings); GeneratedApplicationNode.Nodes.Add(node); Assert.AreEqual(CategoryFilterMode.DenyAllExceptAllowed, node.CategoryFilterSettings.CategoryFilterMode); Assert.AreEqual(0, node.CategoryFilterSettings.CategoryFilters.Count); Assert.AreEqual(true, node.LoggingEnabled); Assert.AreEqual(0, node.MinimumPriority); Assert.AreEqual(true, node.TracingEnabled); LoggingSettings nodeData = node.LoggingSettings; Assert.AreEqual(CategoryFilterMode.DenyAllExceptAllowed, nodeData.CategoryFilterMode); Assert.AreEqual(0, nodeData.CategoryFilters.Count); Assert.AreEqual("Test", nodeData.DistributionStrategies["Test"].Name); Assert.AreEqual(true, nodeData.LoggingEnabled); Assert.AreEqual(0, nodeData.MinimumPriority); Assert.AreEqual(true, nodeData.TracingEnabled); }
public void RuntimeTest() { GeneratedHierarchy.Open(); Assert.AreEqual(0, ConfigurationErrorsCount); ConfigurationContext configurationContext = GeneratedHierarchy.ConfigurationContext; if (configurationContext.IsValidSection(LoggingSettings.SectionName)) { LoggingSettings clientSettings = configurationContext.GetConfiguration(LoggingSettings.SectionName) as LoggingSettings; if (clientSettings != null) { ClientSettingsNode settingsNode = new ClientSettingsNode(clientSettings); Assert.AreEqual(CategoryFilterMode.DenyAllExceptAllowed, settingsNode.CategoryFilterSettings.CategoryFilterMode); Assert.AreEqual(false, settingsNode.LoggingEnabled); Assert.AreEqual(1, settingsNode.MinimumPriority); Assert.AreEqual(false, settingsNode.TracingEnabled); } } else { Assert.Fail(String.Format("Can not load section: {0}", LoggingSettings.SectionName)); } }