Пример #1
0
        public void WmiQueryReturnsSingleResultIfSinglePublishedInstance()
        {
            MsmqTraceListenerSetting setting
                = new MsmqTraceListenerSetting(null, "name", "Formatter", "MessagePriority", "QueuePath", false,
                                               "TimeToBeReceived", "TimeToReachQueue", "TraceOutputOptions", "TransactionType",
                                               true, false, true, System.Diagnostics.SourceLevels.Critical.ToString());

            setting.ApplicationName = "app";
            setting.SectionName     = InstrumentationConfigurationSection.SectionName;
            setting.Publish();
            using (ManagementObjectCollection.ManagementObjectEnumerator resultEnumerator
                       = new ManagementObjectSearcher("root\\enterpriselibrary", "SELECT * FROM MsmqTraceListenerSetting")
                         .Get().GetEnumerator())
            {
                Assert.IsTrue(resultEnumerator.MoveNext());
                Assert.AreEqual("name", resultEnumerator.Current.Properties["Name"].Value);
                Assert.AreEqual("Formatter", resultEnumerator.Current.Properties["Formatter"].Value);
                Assert.AreEqual("MessagePriority", resultEnumerator.Current.Properties["MessagePriority"].Value);
                Assert.AreEqual("QueuePath", resultEnumerator.Current.Properties["QueuePath"].Value);
                Assert.AreEqual(false, resultEnumerator.Current.Properties["Recoverable"].Value);
                Assert.AreEqual("TimeToBeReceived", resultEnumerator.Current.Properties["TimeToBeReceived"].Value);
                Assert.AreEqual("TimeToReachQueue", resultEnumerator.Current.Properties["TimeToReachQueue"].Value);
                Assert.AreEqual("TraceOutputOptions", resultEnumerator.Current.Properties["TraceOutputOptions"].Value);
                Assert.AreEqual(System.Diagnostics.SourceLevels.Critical.ToString(), resultEnumerator.Current.Properties["Filter"].Value);
                Assert.AreEqual("TransactionType", resultEnumerator.Current.Properties["TransactionType"].Value);
                Assert.AreEqual(true, resultEnumerator.Current.Properties["UseAuthentication"].Value);
                Assert.AreEqual(false, resultEnumerator.Current.Properties["UseDeadLetterQueue"].Value);
                Assert.AreEqual(true, resultEnumerator.Current.Properties["UseEncryption"].Value);
                Assert.AreEqual("MsmqTraceListenerSetting", resultEnumerator.Current.SystemProperties["__CLASS"].Value);
                Assert.IsFalse(resultEnumerator.MoveNext());
            }
        }
Пример #2
0
        public void SavesChangesToConfigurationObject()
        {
            MsmqTraceListenerData sourceElement = new MsmqTraceListenerData();

            sourceElement.Formatter          = "formatter";
            sourceElement.MessagePriority    = MessagePriority.AboveNormal;
            sourceElement.QueuePath          = "path";
            sourceElement.Recoverable        = false;
            sourceElement.TimeToBeReceived   = new TimeSpan(1000);
            sourceElement.TimeToReachQueue   = new TimeSpan(2000);
            sourceElement.Filter             = SourceLevels.Information;
            sourceElement.TraceOutputOptions = TraceOptions.ProcessId;
            sourceElement.TransactionType    = MessageQueueTransactionType.Automatic;
            sourceElement.UseAuthentication  = false;
            sourceElement.UseDeadLetterQueue = true;
            sourceElement.UseEncryption      = false;
            List <ConfigurationSetting> settings = new List <ConfigurationSetting>(1);

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

            Assert.IsNotNull(setting);
            setting.Formatter          = "updated formatter";
            setting.MessagePriority    = MessagePriority.High.ToString();
            setting.QueuePath          = "updated queue";
            setting.Recoverable        = true;
            setting.TimeToBeReceived   = new TimeSpan(10000).ToString();
            setting.TimeToReachQueue   = new TimeSpan(20000).ToString();
            setting.Filter             = SourceLevels.All.ToString();
            setting.TraceOutputOptions = TraceOptions.ThreadId.ToString();
            setting.Name = "Foo";
            setting.Commit();
            Assert.AreEqual(setting.Name, sourceElement.Name);
            Assert.AreEqual(setting.Filter, sourceElement.Filter.ToString());
            Assert.AreEqual(setting.MessagePriority, sourceElement.MessagePriority.ToString());
            Assert.AreEqual(setting.Recoverable, sourceElement.Recoverable);
            Assert.AreEqual(setting.TimeToBeReceived, sourceElement.TimeToBeReceived.ToString());
            Assert.AreEqual(setting.TimeToReachQueue, sourceElement.TimeToReachQueue.ToString());
            Assert.AreEqual("updated queue", sourceElement.QueuePath);
            Assert.AreEqual(SourceLevels.All, sourceElement.Filter);
            Assert.AreEqual(TraceOptions.ThreadId, sourceElement.TraceOutputOptions);
        }
Пример #3
0
        public void CanBindObject()
        {
            MsmqTraceListenerSetting setting
                = new MsmqTraceListenerSetting(null, "name", "Formatter", "MessagePriority", "QueuePath", false,
                                               "TimeToBeReceived", "TimeToReachQueue", "TraceOutputOptions", "TransactionType",
                                               true, false, true, System.Diagnostics.SourceLevels.Critical.ToString());

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