private TestContext CreateContext()
        {
            var seqNumber = 1;
            var props     = new Mock <IBasicProperties>();
            var model     = new Mock <IModel>();

            model.Setup(m => m.CreateBasicProperties()).Returns(props.Object);
            var mreForFirstMessage = new ManualResetEventSlim(false);

            var connection = new Mock <IConnection>();

            connection.Setup(c => c.CreateModel()).Returns(model.Object);

            var settings = HarePublisherSettings.GetDefaultSettings();

            settings.UseConfirms               = true;
            settings.IntervalConnectionTries   = TimeSpan.Zero;
            settings.MaxMessageWaitingToBeSent = 1;
            var publisher = new RabbitMQHare.RabbitPublisher(settings, new RabbitExchange("testing"))
            {
                CreateConnection    = () => connection.Object,
                RedeclareMyTopology = m => { }
            };

            model.Setup(m => m.NextPublishSeqNo).Returns((ulong)seqNumber).Callback(() => Interlocked.Increment(ref seqNumber));
            return(new TestContext
            {
                Connection = connection,
                Model = model,
                MreForFirstMessage = mreForFirstMessage,
                Publisher = publisher,
                SeqNumber = seqNumber
            });
        }
Ejemplo n.º 2
0
        private TestContext CreateContext(int maxMessageInTheQueue = 1)
        {
            var props = new Mock <IBasicProperties>();
            var model = new Mock <IModel>();

            model.Setup(m => m.CreateBasicProperties()).Returns(props.Object);
            var mre = new ManualResetEventSlim(false);


            var connection = new Mock <IConnection>();

            connection.Setup(c => c.CreateModel()).Returns(model.Object);

            var settings = HarePublisherSettings.GetDefaultSettings();

            settings.MaxConnectionRetry        = -1;
            settings.IntervalConnectionTries   = TimeSpan.Zero;
            settings.MaxMessageWaitingToBeSent = maxMessageInTheQueue;
            var publisher = new RabbitMQHare.RabbitPublisher(settings, new RabbitExchange("testing"))
            {
                CreateConnection    = () => connection.Object,
                RedeclareMyTopology = m => { },
            };

            return(new TestContext
            {
                Connection = connection,
                Model = model,
                Mre = mre,
                Publisher = publisher
            });
        }
Ejemplo n.º 3
0
        public void PlugGenericHandler()
        {
            var set       = HarePublisherSettings.GetDefaultSettings();
            var publisher = new RabbitMQHare.RabbitPublisher(set, new RabbitExchange("test"));

            publisher.HasEnoughEventHandlers(0);
            publisher.PlugGenericHook((m, e) => { });
            publisher.HasEnoughEventHandlers(1, "EventHandlerFailureHandler");
        }
        private TestContext CreateContext()
        {
            var seqNumber = 1;
            var props = new Mock<IBasicProperties>();
            var model = new Mock<IModel>();
            model.Setup(m => m.CreateBasicProperties()).Returns(props.Object);
            var mreForFirstMessage = new ManualResetEventSlim(false);

            var connection = new Mock<IConnection>();
            connection.Setup(c => c.CreateModel()).Returns(model.Object);

            var settings = HarePublisherSettings.GetDefaultSettings();
            settings.UseConfirms = true;
            settings.IntervalConnectionTries = TimeSpan.Zero;
            settings.MaxMessageWaitingToBeSent = 1;
            var publisher = new RabbitMQHare.RabbitPublisher(settings, new RabbitExchange("testing"))
            {
                CreateConnection = () => connection.Object,
                RedeclareMyTopology = m => { }
            };

            model.Setup(m => m.NextPublishSeqNo).Returns((ulong)seqNumber).Callback(() => Interlocked.Increment(ref seqNumber));
            return new TestContext
            {
                Connection = connection,
                Model = model,
                MreForFirstMessage = mreForFirstMessage,
                Publisher = publisher,
                SeqNumber = seqNumber
            };
        }
Ejemplo n.º 5
0
        private TestContext CreateContext(int maxMessageInTheQueue = 1)
        {
            var props = new Mock<IBasicProperties>();
            var model = new Mock<IModel>();
            model.Setup(m => m.CreateBasicProperties()).Returns(props.Object);
            var mre = new ManualResetEventSlim(false);

            var connection = new Mock<IConnection>();
            connection.Setup(c => c.CreateModel()).Returns(model.Object);

            var settings = HarePublisherSettings.GetDefaultSettings();
            settings.MaxConnectionRetry = -1;
            settings.IntervalConnectionTries = TimeSpan.Zero;
            settings.MaxMessageWaitingToBeSent = maxMessageInTheQueue;
            var publisher = new RabbitMQHare.RabbitPublisher(settings, new RabbitExchange("testing"))
                {
                    CreateConnection = () => connection.Object,
                    RedeclareMyTopology = m => { },
                };
            return new TestContext
                {
                    Connection = connection,
                    Model = model,
                    Mre = mre,
                    Publisher = publisher
                };
        }