public void SetUp() { destination = Target.Input; XmsUtilities.Purge(destination); using (var producer = new XmsProducer(destination, false)) { var msg = producer.CreateBytesMessage(); msg.WriteUTF(expected); producer.Send(msg); } }
public void GIVE_transactional_producer_AND_no_transaction_WHEN_send_THEN_message_is_on_queue() { using (var producer = new XmsProducer(address, true)) { var msg = producer.CreateTextMessage(); msg.Text = "message"; producer.Send(msg); } var after = XmsUtilities.GetCurrentQueueDebth(address); Assert.That(after, Is.EqualTo(1)); }
public void ShouldSendOneMessage() { using (var producer = new XmsProducer(destination, false)) { var msg = producer.CreateTextMessage(); msg.Text = "message"; producer.Send(msg); } var after = XmsUtilities.GetCurrentQueueDebth(destination); Assert.That(after, Is.EqualTo(1)); }
public void SetUp() { address = TestTargets.InputQueue; XmsUtilities.Purge(address); using (var producer = new XmsProducer(address, false)) { var msg = producer.CreateBytesMessage(); msg.WriteUTF(expected); producer.Send(msg); } }
public void GIVEN_non_transactional_pool_WHEN_send_THEN_message_is_enqueued() { using (var producer = new XmsProducer(address, false)) producer.SendTestMessage(address); IBM.XMS.IMessage message; using (var pool = new Pool<XmsPooledConsumer>(2, p => new XmsPooledConsumer(p, new XmsConsumer(address, false)), store)) using (var producer = pool.Acquire()) { message = producer.ReceiveNoWait(); } Assert.That(message,Is.Not.Null); }
public void GIVE_transactional_producer_WHEN_send_and_commited_THEN_message_is_on_queue() { using(var scope = new TransactionScope(TransactionScopeOption.Required)) using (var producer = new XmsProducer(address, true)) { var msg = producer.CreateTextMessage(); msg.Text = "message"; producer.Send(msg); scope.Complete(); } var after = XmsUtilities.GetCurrentQueueDebth(address); Assert.That(after, Is.EqualTo(1)); }
public void ShouldSend100MessagesSingleThreaded() { int count = 100; var stop = Stopwatch.StartNew(); using (var producer = new XmsProducer(destination, false)) { foreach (var i in Enumerable.Range(0, count)) { var msg = producer.CreateTextMessage(); msg.Text = "message"; producer.Send(msg); } stop.Stop(); } var after = XmsUtilities.GetCurrentQueueDebth(destination); Console.WriteLine("Sent {0} messages single-threaded in {1}", count, stop.Elapsed); Assert.That(after, Is.EqualTo(count)); }
public void The_same_producer_can_be_accessed_on_two_different_threads_give_trat_the_transaction_scopes_do_not_collide() { var producer = new XmsProducer(address, true); using (var scope = new TransactionScope(TransactionScopeOption.Required)) { producer.SendTestMessage(address); scope.Complete(); } var aaa = Task.Run(() => { using (var scope2 = new TransactionScope(TransactionScopeOption.Required)) { producer.SendTestMessage(address); scope2.Complete(); } }); aaa.Wait(); var after = XmsUtilities.GetCurrentQueueDebth(address); Assert.That(after, Is.EqualTo(2)); }