private MsmqSink CreateSink(MsmqSinkData msmqSinkData) { MsmqSink msmqSink = new MsmqSink(); msmqSink.Initialize(new TestLogSinkConfigurationView(msmqSinkData)); return(msmqSink); }
public void LogTwoMessagesToQueueAndBeAbleToReadBothOfThem() { string path = @"FormatName:DIRECT=OS:" + CommonUtil.MessageQueuePath; MsmqSinkData sinkParams = new MsmqSinkData(); sinkParams.QueuePath = path; MsmqSink sink = new MsmqSink(); sink.Initialize(new TestLogSinkConfigurationView(sinkParams)); CommonUtil.SendTestMessage(sink); using (MessageQueue mq = new MessageQueue(path)) { Message msg = mq.Receive(new TimeSpan(0, 0, 1)); mq.Close(); msg.Formatter = new XmlMessageFormatter(new string[] { "System.String,mscorlib" }); Assert.AreEqual(CommonUtil.FormattedMessage, msg.Body.ToString()); } CommonUtil.SendTestMessage(sink); using (MessageQueue mq = new MessageQueue(path)) { Message msg = mq.Receive(new TimeSpan(0, 0, 1)); mq.Close(); msg.Formatter = new XmlMessageFormatter(new string[] { "System.String,mscorlib" }); Assert.AreEqual(CommonUtil.FormattedMessage, msg.Body.ToString()); } }
public void MsmqSink() { string sinkName = "MsmqSink"; MsmqSinkData sink = new MsmqSinkData(); sink.Name = sinkName; SinkFromFactory(sink); }
public void MsmqSinkDataPropertiesTest() { MsmqSinkData data = new MsmqSinkData(); string queuePath = "Path"; data.QueuePath = queuePath; Assert.AreEqual(queuePath, data.QueuePath); }
public void InvalidQueuePath() { string path = @"INVALID PATH"; MsmqSinkData sinkParams = new MsmqSinkData("MsmqSink"); sinkParams.QueuePath = path; MsmqSink sink = CreateSink(sinkParams); sink.SendMessage(new LogEntry()); }
private bool ValidateQueuePath(LogEntry log) { MsmqSinkData msmqSinkData = GetMsmqSinkDataFromCursor(); bool valid = true; if (msmqSinkData.QueuePath == null || msmqSinkData.QueuePath.Length == 0) { valid = false; log.AddErrorMessage(SR.ExceptionMsmqSinkMissingConfiguration); this.defaultSink.SendMessage(log); } return(valid); }
private void SendMessageToQueue(LogEntry logEntry) { MsmqSinkData msmqSinkData = GetMsmqSinkDataFromCursor(); using (MessageQueue messageQueue = new MessageQueue(msmqSinkData.QueuePath)) { Message queueMessage = new Message(); queueMessage.Body = FormatEntry(logEntry); queueMessage.Label = logEntry.Title; queueMessage.Priority = msmqSinkData.MessagePriority; MessageQueueTransactionType transactionType = (messageQueue.Transactional) ? MessageQueueTransactionType.Single : MessageQueueTransactionType.None; messageQueue.Send(queueMessage, transactionType); messageQueue.Close(); } }
public void QueueDoesNotExist() { // delete the queue CommonUtil.DeletePrivateTestQ(); MsmqSinkData sinkParams = new MsmqSinkData("MsmqSink"); sinkParams.QueuePath = CommonUtil.MessageQueuePath; MsmqSink sink = CreateSink(sinkParams); try { CommonUtil.SendTestMessage(sink); } finally { CommonUtil.CreatePrivateTestQ(); } }
public void MsmqSinkDataTest() { string name = "testName"; string queuePath = "testPath"; string type = typeof(MsmqSink).AssemblyQualifiedName; MsmqSinkData data = new MsmqSinkData(); data.Name = name; data.QueuePath = queuePath; data.TypeName = type; MsmqSinkNode node = new MsmqSinkNode(data); GeneratedApplicationNode.Nodes.Add(node); MsmqSinkData nodeData = (MsmqSinkData)node.SinkData; Assert.AreEqual(name, nodeData.Name); Assert.AreEqual(queuePath, nodeData.QueuePath); Assert.AreEqual(type, nodeData.TypeName); }
public void LogMessageToMSMQ() { string path = @"FormatName:DIRECT=OS:" + CommonUtil.MessageQueuePath; MsmqSinkData sinkParams = new MsmqSinkData("MsmqSink"); sinkParams.QueuePath = path; sinkParams.MessagePriority = MessagePriority.Low; MsmqSink sink = CreateSink(sinkParams); CommonUtil.SendTestMessage(sink); MessageQueue mq = new MessageQueue(path); mq.MessageReadPropertyFilter.Priority = true; Message msg = mq.Receive(new TimeSpan(0, 0, 1)); msg.Formatter = new XmlMessageFormatter(new string[] { "System.String,mscorlib" }); mq.Close(); mq = null; Assert.AreEqual(MessagePriority.Low, msg.Priority); Assert.AreEqual(CommonUtil.FormattedMessage, msg.Body.ToString()); }
/// <summary> /// Creates node with specified configuration data. /// </summary> /// <param name="msmqSinkData">Configuration data.</param> public MsmqSinkNode(MsmqSinkData msmqSinkData) : base(msmqSinkData) { this.msmqSinkData = msmqSinkData; }