public void SavesChangesToConfigurationObject()
        {
            ReplaceHandlerData sourceElement = new ReplaceHandlerData("name",
                                                                      "ExcpetionMessage",
                                                                      "System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089");
            List <ConfigurationSetting> settings = new List <ConfigurationSetting>(1);

            ReplaceHandlerDataWmiMapper.GenerateWmiObjects(sourceElement, settings);
            Assert.AreEqual(1, settings.Count);
            ReplaceHandlerSetting setting = settings[0] as ReplaceHandlerSetting;

            Assert.IsNotNull(setting);
            setting.ExceptionMessage = "Changed";
            setting.Commit();
            Assert.AreEqual(setting.ExceptionMessage, sourceElement.ExceptionMessage);
            Assert.AreEqual(setting.ReplaceExceptionType, sourceElement.ReplaceExceptionTypeName);
        }
        public void WmiQueryReturnsSingleResultIfSinglePublishedInstance()
        {
            ReplaceHandlerSetting setting = new ReplaceHandlerSetting(null, "name", "ExceptionMessage", "ReplaceExceptionType");

            setting.ApplicationName = "app";
            setting.SectionName     = InstrumentationConfigurationSection.SectionName;
            setting.Publish();
            using (ManagementObjectCollection.ManagementObjectEnumerator resultEnumerator
                       = new ManagementObjectSearcher("root\\enterpriselibrary", "SELECT * FROM ReplaceHandlerSetting")
                         .Get().GetEnumerator())
            {
                Assert.IsTrue(resultEnumerator.MoveNext());
                Assert.AreEqual("name", resultEnumerator.Current.Properties["Name"].Value);
                Assert.AreEqual("ExceptionMessage", resultEnumerator.Current.Properties["ExceptionMessage"].Value);
                Assert.AreEqual("ReplaceExceptionType", resultEnumerator.Current.Properties["ReplaceExceptionType"].Value);
                Assert.AreEqual("ReplaceHandlerSetting", resultEnumerator.Current.SystemProperties["__CLASS"].Value);
                Assert.IsFalse(resultEnumerator.MoveNext());
            }
        }
        public void CanBindObject()
        {
            ReplaceHandlerSetting setting = new ReplaceHandlerSetting(null, "name", "ExceptionMessage", "ReplaceExceptionType");

            setting.ApplicationName = "app";
            setting.SectionName     = InstrumentationConfigurationSection.SectionName;
            setting.Policy          = "Policy";
            setting.ExceptionType   = typeof(Exception).AssemblyQualifiedName;
            setting.Publish();
            using (ManagementObjectCollection.ManagementObjectEnumerator resultEnumerator
                       = new ManagementObjectSearcher("root\\enterpriselibrary", "SELECT * FROM ReplaceHandlerSetting")
                         .Get().GetEnumerator())
            {
                Assert.IsTrue(resultEnumerator.MoveNext());
                Assert.AreEqual("ReplaceHandlerSetting", resultEnumerator.Current.SystemProperties["__CLASS"].Value);
                ManagementObject managementObject = resultEnumerator.Current as ManagementObject;
                Assert.IsNotNull(managementObject);
                managementObject.Put();
            }
        }