public void ReceiveWithTransactionTypeAndTimeoutFailure() { MessageQueue mq = MQUtil.GetQueue(MQUtil.CreateQueueName(), true); Assert.IsTrue(mq.Transactional, "Message Queue should be transactional"); Message received1 = mq.Receive(new TimeSpan(0, 0, 2), MessageQueueTransactionType.Single); }
public void SendBinaryMessage() { Thingy body = new Thingy(); body.MyProperty1 = 42; body.MyProperty2 = "Something"; body.MyProperty3 = "Something else"; Message m1 = new Message(body); m1.Formatter = new BinaryMessageFormatter(); MessageQueue q = MQUtil.GetQueue(); q.Send(m1); Message m2 = q.Receive(); m2.Formatter = new BinaryMessageFormatter(); Assert.IsNotNull(m2.Formatter); Assert.AreEqual(typeof(BinaryMessageFormatter), m2.Formatter.GetType()); Thingy body2 = (Thingy)m2.Formatter.Read(m2); Assert.AreEqual(body.MyProperty1, body2.MyProperty1); Assert.AreEqual(body.MyProperty2, body2.MyProperty2); Assert.AreEqual(body.MyProperty3, body2.MyProperty3); }
public void Send2WithLabelWithTransaction() { String label1 = "label1"; String label2 = "label2"; Message sent1 = new Message("Message 1", new BinaryMessageFormatter()); Message sent2 = new Message("Message 2", new BinaryMessageFormatter()); MessageQueue mq = MQUtil.GetQueue(MQUtil.CreateQueueName(), true); mq.MessageReadPropertyFilter.SetAll(); Assert.IsTrue(mq.Transactional, "Message Queue should be transactional"); using (MessageQueueTransaction tx = new MessageQueueTransaction()) { tx.Begin(); mq.Send(sent1, label1, tx); mq.Send(sent2, label2, tx); tx.Commit(); Message received1 = mq.Receive(); Assert.IsNotNull(received1.TransactionId, "TransactionId not set"); Message received2 = mq.Receive(); Assert.IsNotNull(received2.TransactionId, "TransactionId not set"); Assert.AreEqual(received1.TransactionId, received2.TransactionId, "Messages have differing TransactionIds"); Assert.IsTrue(received1.TransactionId.Length > 1); Assert.AreEqual(sent1.Body, received1.Body, "Message 1 not delivered correctly"); Assert.AreEqual(sent2.Body, received2.Body, "Message 2 not delivered correctly"); Assert.AreEqual(label1, received1.Label, "Label 1 not passed correctly"); Assert.AreEqual(label2, received2.Label, "Label 2 not passed correctly"); } }
public void SendDefaultMessage() { string path = MQUtil.CreateQueueName(); Thingy body = new Thingy(); body.MyProperty1 = 42; body.MyProperty2 = "Something"; body.MyProperty3 = "Something else"; Message m1 = new Message(body); Assert.IsNull(m1.Formatter); MessageQueue q = MQUtil.GetQueue(path, new XmlMessageFormatter()); q.Send(m1); Message m2 = q.Receive(); m2.Formatter = new XmlMessageFormatter(new Type[] { typeof(Thingy) }); Assert.IsNotNull(m2.Formatter); Assert.AreEqual(typeof(XmlMessageFormatter), m2.Formatter.GetType()); Thingy body2 = (Thingy)m2.Formatter.Read(m2); Assert.AreEqual(body.MyProperty1, body2.MyProperty1); Assert.AreEqual(body.MyProperty2, body2.MyProperty2); Assert.AreEqual(body.MyProperty3, body2.MyProperty3); }
public void SendReceiveBinaryMessage() { MessageQueue mq = MQUtil.GetQueue(); String s = "Test: " + DateTime.Now; Message m = new Message(s, new BinaryMessageFormatter()); m.CorrelationId = Guid.NewGuid() + "\\0"; mq.MessageReadPropertyFilter.SetAll(); mq.Send(m); Message m2 = mq.Receive(); m2.Formatter = new BinaryMessageFormatter(); Assert.AreEqual(s, m2.Body); //Assert.IsTrue (DateTime.MinValue == m.ArrivedTime); Assert.IsNotNull(m2.Id, "Id is null"); Assert.IsTrue(Guid.Empty.ToString() != m2.Id, "Id is Empty"); Assert.IsTrue(DateTime.MinValue != m2.ArrivedTime, "Arrived Time is not set"); Assert.AreEqual(Acknowledgment.None, m2.Acknowledgment, "Acknowledgment"); Assert.AreEqual(m.CorrelationId, m2.CorrelationId, "CorrelationId not set properly"); Assert.IsTrue(0 != m2.SenderVersion); // TODO: This is not supported on a workgroup installation. //Assert.IsNotNull (m2.SourceMachine, "SourceMachine is null"); Assert.AreEqual(mq.QueueName, m2.DestinationQueue.QueueName, "Destination Queue not set"); mq.Close(); }
public void ReceiveByCorrelationIdWithTransactionAbort() { string correlationId = Guid.NewGuid() + "\\0"; String body = "foo-" + DateTime.Now.ToString(); Message sent1 = new Message(body, new BinaryMessageFormatter()); sent1.CorrelationId = correlationId; MessageQueue mq = MQUtil.GetQueue(MQUtil.CreateQueueName(), true); Assert.IsTrue(mq.Transactional, "Message Queue should be transactional"); mq.Send(sent1, MessageQueueTransactionType.Single); string id = sent1.Id; using (MessageQueueTransaction tx = new MessageQueueTransaction()) { tx.Begin(); Message received1 = mq.ReceiveByCorrelationId(correlationId, tx); tx.Abort(); } Message received2 = mq.Receive(); Assert.AreEqual(body, received2.Body); }
private void SendMessage(string s) { MessageQueue mq = MQUtil.GetQueue(qName); Message m = new Message(s, new BinaryMessageFormatter()); m.CorrelationId = Guid.NewGuid() + "\\0"; mq.Send(m); }
public void BeginReceiveWithException() { MessageQueue q = MQUtil.GetQueue(); IAsyncResult result = q.BeginReceive(new TimeSpan(0, 0, 2)); result.AsyncWaitHandle.WaitOne(); q.EndReceive(result); }
public void GetQueue() { string qName = MQUtil.CreateQueueName(); MessageQueue q1 = MQUtil.GetQueue(qName, true); Assert.IsTrue(q1.Transactional, "Queue should be transactional"); MessageQueue q2 = MQUtil.GetQueue(qName, true); Assert.IsTrue(q2.Transactional, "Queue should be transactional"); }
public void SendWithTransactionType() { Message sent1 = new Message("Message 1"); MessageQueue mq = MQUtil.GetQueue(MQUtil.CreateQueueName(), true); mq.MessageReadPropertyFilter.SetAll(); mq.Send(sent1, MessageQueueTransactionType.Single); Message received1 = mq.Receive(); Assert.IsNotNull(received1.TransactionId, "TransactionId not set"); }
public void DeleteQueue() { string qName = MQUtil.CreateQueueName(); MessageQueue q = MQUtil.GetQueue(qName); Message m1 = new Message("foobar1", new BinaryMessageFormatter()); q.Send(m1); q.Receive(); MessageQueue.Delete(qName); }
public void ReceiveWithTransactionType() { String body = "foo-" + DateTime.Now.ToString(); Message sent1 = new Message(body, new BinaryMessageFormatter()); MessageQueue mq = MQUtil.GetQueue(MQUtil.CreateQueueName(), true); Assert.IsTrue(mq.Transactional, "Message Queue should be transactional"); mq.Send(sent1, MessageQueueTransactionType.Single); Message received1 = mq.Receive(MessageQueueTransactionType.Single); Assert.AreEqual(body, received1.Body); }
public void GetPublicQueues() { string qName1 = @".\admin-queue-3"; string qName2 = @".\admin-queue-4"; MQUtil.GetQueue(qName1); MQUtil.GetQueue(qName2); MessageQueue[] mq = MessageQueue.GetPublicQueues(); Console.WriteLine("Number of queues: {0}", mq.Length); Assert.IsTrue(Contains(mq, "admin-queue-3"), qName1 + " not found"); Assert.IsTrue(Contains(mq, "admin-queue-4"), qName2 + " not found"); }
public void ReceiveByIdWithTransactionType() { String body = "Message 4"; Message sent1 = new Message(body, new BinaryMessageFormatter()); MessageQueue mq = MQUtil.GetQueue(MQUtil.CreateQueueName(), true); Assert.IsTrue(mq.Transactional, "Message Queue should be transactional"); mq.Send(sent1, MessageQueueTransactionType.Single); string id = sent1.Id; Message received1 = mq.ReceiveById(id, MessageQueueTransactionType.Single); Assert.AreEqual(body, received1.Body); }
public void SelectById() { String body = "Foo-" + DateTime.Now.ToString(); Message s1 = new Message(body, new BinaryMessageFormatter()); MessageQueue q = MQUtil.GetQueue(); q.Send(s1); String id = s1.Id; Message r1 = q.ReceiveById(id); Assert.AreEqual(body, r1.Body, "Unable to ReceiveById correctly"); }
public void SendWithTransactionTypeAndLabel() { Message sent1 = new Message("Message 1"); MessageQueue mq = MQUtil.GetQueue(MQUtil.CreateQueueName(), true); mq.MessageReadPropertyFilter.SetAll(); String label = "mylabel"; mq.Send(sent1, label, MessageQueueTransactionType.Single); Message received1 = mq.Receive(); Assert.IsNotNull(received1.TransactionId, "TransactionId not set"); Assert.AreEqual(label, received1.Label, "Label not set"); }
public void SendDefaultText() { string body = "This is a test"; MessageQueue q = MQUtil.GetQueue(MQUtil.CreateQueueName(), new XmlMessageFormatter()); q.Send(body); Message m2 = q.Receive(); XmlMessageFormatter xmlf = (XmlMessageFormatter)q.Formatter; Assert.AreEqual(typeof(XmlMessageFormatter), m2.Formatter.GetType()); Assert.AreEqual(body, m2.Body); Assert.AreEqual(0, m2.BodyType); }
public void SelectByCorrelationId() { string correlationId = Guid.NewGuid() + "\\0"; String body = "Foo-" + DateTime.Now.ToString(); Message s1 = new Message(body, new BinaryMessageFormatter()); s1.CorrelationId = correlationId; MessageQueue q = MQUtil.GetQueue(); q.Send(s1); Message r1 = q.ReceiveByCorrelationId(correlationId); Assert.AreEqual(body, r1.Body, "Unable to ReceiveByCorrelationId correctly"); }
public void BeginReceiveWithTimeout() { MessageQueue q = MQUtil.GetQueue(); Message s = new Message(new BinaryMessageFormatter()); string body = "foo-" + DateTime.Now.ToString(); s.Body = body; q.Send(s); IAsyncResult result = q.BeginReceive(new TimeSpan(0, 0, 2)); result.AsyncWaitHandle.WaitOne(); Message rMsg = q.EndReceive(result); Assert.AreEqual(body, rMsg.Body, "Async Send Failed, bodies not equal"); }
public void PeekByIdNotFound() { String body = "Foo-" + DateTime.Now.ToString(); Message s1 = new Message(body, new BinaryMessageFormatter()); MessageQueue q = MQUtil.GetQueue(); q.Send(s1); String id = "fail!"; try { Message r1 = q.PeekById(id); } finally { q.Purge(); } }
public void PeekByCorrelationIdNotFound() { String body = "Foo-" + DateTime.Now.ToString(); Message s1 = new Message(body); String correlationId = Guid.NewGuid() + "\\0"; MessageQueue q = MQUtil.GetQueue(); q.Formatter = new BinaryMessageFormatter(); q.Send(s1); try { Message r1 = q.PeekByCorrelationId("fail!"); } finally { q.Purge(); } }
public void SendBinaryText() { string body = "This is a test"; MessageQueue q = MQUtil.GetQueue(); q.Formatter = new BinaryMessageFormatter(); q.Send(body); Message m2 = q.Receive(); Assert.IsNotNull(m2.Formatter, "Formatter is null"); Assert.AreEqual(typeof(BinaryMessageFormatter), m2.Formatter.GetType()); Assert.AreEqual(body, m2.Body); }
public void PeekMessageWithTimeout() { String body = "foo-" + DateTime.Now.ToString(); Message s1 = new Message(body, new BinaryMessageFormatter()); MessageQueue mq = MQUtil.GetQueue(); mq.Send(s1); Message r1 = mq.Peek(new TimeSpan(0, 0, 2)); Assert.AreEqual(body, r1.Body); Message r2 = mq.Receive(); Assert.AreEqual(body, r2.Body); }
public void SelectByCorrelationIdNotFound() { string correlationId = Guid.NewGuid() + "\\0"; String body = "Foo-" + DateTime.Now.ToString(); Message s1 = new Message(body, new BinaryMessageFormatter()); s1.CorrelationId = correlationId; MessageQueue q = MQUtil.GetQueue(); q.Send(s1); try { Message r1 = q.ReceiveByCorrelationId("fail!"); } finally { q.Purge(); } }
public void SendMessageWithLabel() { MessageQueue mq = MQUtil.GetQueue(); String label = "mylabel"; String s = "Test: " + DateTime.Now; Message m = new Message(s, new BinaryMessageFormatter()); m.CorrelationId = Guid.NewGuid() + "\\0"; mq.Send(m, label); Message m2 = mq.Receive(); m2.Formatter = new BinaryMessageFormatter(); Assert.AreEqual(s, m2.Body, "Message not passed correctly"); Assert.AreEqual(label, m2.Label, "Label not passed correctly"); }
public void PurgeQueue() { MessageQueue q = MQUtil.GetQueue(MQUtil.CreateQueueName()); Message m1 = new Message("foobar1", new BinaryMessageFormatter()); Message m2 = new Message("foobar2", new BinaryMessageFormatter()); Message m3 = new Message("foobar3", new BinaryMessageFormatter()); Message m4 = new Message("foobar4", new BinaryMessageFormatter()); q.Send(m1); q.Send(m2); q.Send(m3); q.Send(m4); q.Receive(); q.Purge(); q.Receive(new TimeSpan(0, 0, 2)); }
public void PeekById() { String body = "Foo-" + DateTime.Now.ToString(); Message s1 = new Message(body, new BinaryMessageFormatter()); MessageQueue q = MQUtil.GetQueue(); q.Send(s1); String id = s1.Id; try { Message r1 = q.PeekById(id); Assert.AreEqual(body, r1.Body, "Unable to PeekById correctly"); } finally { q.Purge(); } }
public void BeginReceive() { MessageQueue q = MQUtil.GetQueue(); Message s = new Message(new BinaryMessageFormatter()); string body = "foo-" + DateTime.Now.ToString(); s.Body = body; q.Send(s); q.ReceiveCompleted += new ReceiveCompletedEventHandler(HandleMessage); IAsyncResult result = q.BeginReceive(); result.AsyncWaitHandle.WaitOne(); Message rMsg = q.EndReceive(result); Assert.IsNotNull(rMsg, "No message received"); Assert.AreEqual(body, rMsg.Body, "Async Send Failed, bodies not equal"); }
public void BeginReceiveWithStateAndTimeoutAndCallback() { MessageQueue q = MQUtil.GetQueue(); Message s = new Message(new BinaryMessageFormatter()); string body = "foo-" + DateTime.Now.ToString(); s.Body = body; q.Send(s); AsyncCallback ac = new AsyncCallback(TestCallback); IAsyncResult result = q.BeginReceive(new TimeSpan(0, 0, 2), "foo", ac); result.AsyncWaitHandle.WaitOne(); Message rMsg = q.EndReceive(result); Assert.AreEqual(body, rMsg.Body, "Async Send Failed, bodies not equal"); Assert.AreEqual("foo", result.AsyncState, "State not passed properly"); Assert.IsTrue(success, "Callback not run"); }
public void SendReceiveXmlMessage() { MessageQueue mq = MQUtil.GetQueue(); String s = "Test: " + DateTime.Now; Message m = new Message(s, new XmlMessageFormatter(new Type[] { typeof(string) })); mq.MessageReadPropertyFilter.SetAll(); mq.Send(m); Message m2 = mq.Receive(); m2.Formatter = new XmlMessageFormatter(new Type[] { typeof(string) }); Assert.AreEqual(s, m2.Body); Assert.AreEqual(Acknowledgment.None, m2.Acknowledgment, "Acknowledgment"); Assert.IsNotNull(m2.ArrivedTime, "Acknowledgment"); Assert.IsNotNull(m2.Id, "Id"); }