public void ShouldReturnMessageBackOnTheQueueWhenGlobalTrasactionScopeNotCompleted() { string actual = null; using (var scope = new TransactionScope(TransactionScopeOption.Required)) { using (var consumer = new XmsTransactedConsumer(new XmsConsumer(destination, true))) { var msg = (IBytesMessage) consumer.ReceiveNoWait(); actual = msg.ReadUTF(); Assert.That(msg, Is.Not.Null); } } Assert.That(actual, Is.EqualTo(expected)); Assert.That(XmsUtilities.GetCurrentQueueDebth(destination), Is.EqualTo(1), "Message should be returned back to the queue."); }
public void ShouldRemoveMessageFromQueueWhenGlobalTrasactionScopeCompleteted() { string actual = null; using (var scope = new TransactionScope(TransactionScopeOption.Required)) { using (var consumer = new XmsTransactedConsumer(new XmsConsumer(destination, true))) { var msg = (IBytesMessage) consumer.ReceiveNoWait(); actual = msg.ReadUTF(); Assert.That(msg, Is.Not.Null); scope.Complete(); } } Assert.That(actual, Is.EqualTo(expected)); Assert.That(XmsUtilities.GetCurrentQueueDebth(destination), Is.EqualTo(0), "Queue should be empty"); }