示例#1
0
        public void StartCancel()
        {
            for (int i = 0; i < 100; ++i)
            {
                using (var connection = Container.Resolve <RabbitMQConnection>())
                    using (var fullchannel = connection.CreateChannel <IConsumerManager>())
                    {
                        var cm = fullchannel as IConsumerManager;
                        var qm = fullchannel as IQueueManager;

                        var consumer = new CallbackConsumer((a, b, c, d, e, f, g, h) => { return; }, fullchannel, NullLogger.Instance);
                        Assert.AreEqual(ConsumerStatus.Unknown, consumer.Status);
                        Assert.IsNull(consumer.ConsumerTag);
                        Assert.IsNull(consumer.ShutdownReason);

                        var qinfo = qm.Create(Templates.UnitTestQueue());

                        var ctag = cm.Start(qinfo.Name, true, consumer);
                        Assert.AreEqual(ConsumerStatus.Running, consumer.Status);
                        Assert.AreEqual(ctag, consumer.ConsumerTag);
                        Assert.IsNull(consumer.ShutdownReason);

                        cm.Cancel(ctag);
                        Assert.AreEqual(ConsumerStatus.Canceled, consumer.Status);
                        Assert.IsNull(consumer.ShutdownReason);
                    }
            }
        }
示例#2
0
 public void CreateConsumer()
 {
     using (var connection = Container.Resolve <RabbitMQConnection>())
         using (var defaultchannel = connection.CreateChannel <IConsumerManager>())
         {
             var consumer = new CallbackConsumer((a, b, c, d, e, f, g, h) => { return; }, defaultchannel, NullLogger.Instance);
             Assert.AreEqual(ConsumerStatus.Unknown, consumer.Status);
             Assert.IsNull(consumer.ConsumerTag);
             Assert.IsNull(consumer.ShutdownReason);
         }
 }