Пример #1
0
        public void MsmqLogWriter_Constructor_ConstructsOkWithNullFormatter()
        {
            if (!System.Messaging.MessageQueue.Exists(_TestQueuePath))
            {
                System.Messaging.MessageQueue.Create(_TestQueuePath, false);
            }

            var writer = new MsmqLogWriter(new System.Messaging.MessageQueue(_TestQueuePath), null);
        }
Пример #2
0
        public void MsmqLogWriter_Constructor_ConstructsOkWithFormatter()
        {
            if (!System.Messaging.MessageQueue.Exists(_TestQueuePath))
            {
                System.Messaging.MessageQueue.Create(_TestQueuePath, false);
            }

            var writer = new MsmqLogWriter(new System.Messaging.MessageQueue(_TestQueuePath), Formatters.JsonLogEventFormatter.DefaultInstance);
        }
Пример #3
0
        public void MsmqLogWriter_Constructor_ConstructsOkWithValidQueuePath()
        {
            if (!System.Messaging.MessageQueue.Exists(_TestQueuePath))
            {
                System.Messaging.MessageQueue.Create(_TestQueuePath, false);
            }

            var writer = new MsmqLogWriter(_TestQueuePath, false);
        }
Пример #4
0
        public void MsmqLogWriter_Constructor_ConstructsOkAndCreatesNewQueue()
        {
            if (System.Messaging.MessageQueue.Exists(_TestQueuePath))
            {
                System.Messaging.MessageQueue.Delete(_TestQueuePath);
            }

            var writer = new MsmqLogWriter(_TestQueuePath, true);

            Assert.IsTrue(System.Messaging.MessageQueue.Exists(_TestQueuePath));
        }
Пример #5
0
        public void MsmqLogWriter_Write_WritesEnumerableBatchToQueue()
        {
            if (System.Messaging.MessageQueue.Exists(_TestQueuePath))
            {
                System.Messaging.MessageQueue.Delete(_TestQueuePath);
            }

            if (!System.Messaging.MessageQueue.Exists(_TestQueuePath))
            {
                System.Messaging.MessageQueue.Create(_TestQueuePath, false);
            }

            using (var writeQueue = new System.Messaging.MessageQueue(_TestQueuePath, false, true, System.Messaging.QueueAccessMode.Send))
            {
                writeQueue.Formatter = new MsmqJsonLogEventMessageFormatter();

                var writer = new MsmqLogWriter(writeQueue);

                using (var readQueue = new System.Messaging.MessageQueue(_TestQueuePath, false, true, System.Messaging.QueueAccessMode.SendAndReceive))
                {
                    readQueue.Formatter = new MsmqJsonLogEventMessageFormatter();

                    var logEvents = new List <LogEvent>(2);
                    logEvents.Add(new LogEvent()
                    {
                        EventName = "Test Event",
                        Source    = "Test Source"
                    });
                    logEvents.Add(new LogEvent()
                    {
                        EventName = "Test Event 2",
                        Source    = "Test Source"
                    });
                    writer.WriteBatch(logEvents);

                    var result = readQueue.Receive(TimeSpan.FromSeconds(5));
                    Assert.IsNotNull(result);

                    var results = Newtonsoft.Json.JsonConvert.DeserializeObject <LogEvent[]>(result.Body.ToString());
                    Assert.AreEqual(2, results.Length);
                    Assert.AreEqual("Test Event", results[0].EventName);
                    Assert.AreEqual("Test Event 2", results[1].EventName);
                }
            }
        }
Пример #6
0
        public void MsmqLogWriter_Write_WritesToQueue()
        {
            if (System.Messaging.MessageQueue.Exists(_TestQueuePath))
            {
                System.Messaging.MessageQueue.Delete(_TestQueuePath);
            }

            if (!System.Messaging.MessageQueue.Exists(_TestQueuePath))
            {
                System.Messaging.MessageQueue.Create(_TestQueuePath, false);
            }

            using (var writeQueue = new System.Messaging.MessageQueue(_TestQueuePath, false, true, System.Messaging.QueueAccessMode.Send))
            {
                writeQueue.Formatter = new MsmqXmlLogEventMessageFormatter();

                var writer = new MsmqLogWriter(writeQueue);

                using (var readQueue = new System.Messaging.MessageQueue(_TestQueuePath, false, true, System.Messaging.QueueAccessMode.SendAndReceive))
                {
                    readQueue.Formatter = new MsmqXmlLogEventMessageFormatter();

                    var logEvent = new LogEvent()
                    {
                        EventName = "Test Event",
                        Source    = "Test Source"
                    };
                    writer.Write(logEvent);

                    var result = readQueue.Receive(TimeSpan.FromSeconds(5));
                    Assert.IsNotNull(result);
                    var xdoc = System.Xml.Linq.XDocument.Parse(result.Body.ToString());
                    Assert.IsNotNull((from n in xdoc.Descendants("LogEvent") select n).FirstOrDefault());
                }
            }
        }
Пример #7
0
 public void MsmqLogWriter_Constructor_ConstructsOkWithQueuePathAndFormatter()
 {
     var writer = new MsmqLogWriter(_TestQueuePath, true, Formatters.JsonLogEventFormatter.DefaultInstance);
 }
Пример #8
0
 public void MsmqLogWriter_Constructor_ThrowsOnNullQueue()
 {
     var writer = new MsmqLogWriter((System.Messaging.MessageQueue)null);
 }