Ejemplo n.º 1
0
        public void GetQueueMessageCountShouldThrowsExceptionIfQueueNotExists()
        {
            var model = new Mock <IModel>();

            var(appLogger, messageProvider, _, connectionFactory) = RabbitMockFactory.Get(model);
            var queueProviderRabbitMQ = new QueueProviderRabbitMQ(appLogger.Object, messageProvider.Object, connectionFactory.Object, true, "queue1");

            Assert.Throws <Exception>(() => queueProviderRabbitMQ.GetQueueMessageCount("queue2"));
        }
Ejemplo n.º 2
0
        public void InitWithoutDelay()
        {
            var model = new Mock <IModel>();

            var(appLogger, messageProvider, _, connectionFactory) = RabbitMockFactory.Get(model);
            var connection            = new Mock <IConnection>();
            var queueProviderRabbitMQ = new QueueProviderRabbitMQ(appLogger.Object, messageProvider.Object, connectionFactory.Object, false, "queue1");

            model.Verify(x => x.QueueBind("queue1", "bgTeam.direct", "queue1", null));
            model.Verify(x => x.ExchangeDeclare("bgTeam.direct", "direct", true, false, null));
        }
Ejemplo n.º 3
0
        public void InitWithDelay()
        {
            var model = new Mock <IModel>();

            var(appLogger, messageProvider, _, connectionFactory) = RabbitMockFactory.Get(model);
            var connection            = new Mock <IConnection>();
            var queueProviderRabbitMQ = new QueueProviderRabbitMQ(appLogger.Object, messageProvider.Object, connectionFactory.Object, true, "queue1");

            model.Verify(x => x.QueueBind("queue1", "bgTeam.direct.delay", "queue1", null));
            model.Verify(x => x.ExchangeDeclare("bgTeam.direct.delay", "x-delayed-message", true, false, It.IsAny <IDictionary <string, object> >()));
        }
Ejemplo n.º 4
0
        public void GetQueueMessageCount()
        {
            var model = new Mock <IModel>();

            model.Setup(x => x.MessageCount("queue1"))
            .Returns(10);
            var(appLogger, messageProvider, _, connectionFactory) = RabbitMockFactory.Get(model);
            var queueProviderRabbitMQ = new QueueProviderRabbitMQ(appLogger.Object, messageProvider.Object, connectionFactory.Object, true, "queue1");
            var count = queueProviderRabbitMQ.GetQueueMessageCount("queue1");

            Assert.Equal((uint)10, count);
        }
Ejemplo n.º 5
0
        public void PushMessage()
        {
            var model = new Mock <IModel>();

            var(appLogger, messageProvider, _, connectionFactory) = RabbitMockFactory.Get(model);
            var queueProviderRabbitMQ = new QueueProviderRabbitMQ(appLogger.Object, messageProvider.Object, connectionFactory.Object, true, "queue1");

            queueProviderRabbitMQ.PushMessage(new QueueMessageDefault()
            {
                Body = "hi"
            });
            model.Verify(x => x.BasicPublish("bgTeam.direct.delay", "queue1", false, It.IsAny <IBasicProperties>(), It.IsAny <ReadOnlyMemory <byte> >()));
        }
Ejemplo n.º 6
0
        public void PushMessageInQueues()
        {
            var model = new Mock <IModel>();

            model.Setup(x => x.QueueDeclare("queue2", It.IsAny <bool>(), It.IsAny <bool>(), It.IsAny <bool>(), null))
            .Returns(new QueueDeclareOk("queue2", 12, 2));
            var(messageProvider, _, connectionFactory) = RabbitMockFactory.Get(model);
            var queueProviderRabbitMQ = new QueueProviderRabbitMQ(messageProvider.Object, connectionFactory.Object, true, "queue1");

            queueProviderRabbitMQ.PushMessage(new QueueMessageDefault()
            {
                Body = "hi"
            }, "queue1", "queue2");
            model.Verify(x => x.BasicPublish("bgTeam.direct.delay", "queue1", false, It.IsAny <IBasicProperties>(), It.IsAny <ReadOnlyMemory <byte> >()));
            model.Verify(x => x.BasicPublish("bgTeam.direct.delay", "queue2", false, It.IsAny <IBasicProperties>(), It.IsAny <ReadOnlyMemory <byte> >()));
        }
Ejemplo n.º 7
0
        public void DisposeShouldCloseChannel()
        {
            var model  = new Mock <IModel>();
            var @event = new ManualResetEvent(false);

            model.Setup(x => x.MessageCount("queue1"))
            .Returns(() =>
            {
                @event.WaitOne();
                return(10);
            });

            var(appLogger, messageProvider, _, connectionFactory) = RabbitMockFactory.Get(model);

            var queueProviderRabbitMQ = new QueueProviderRabbitMQ(appLogger.Object, messageProvider.Object, connectionFactory.Object, true, "queue1");
            var task = Task.Factory.StartNew(() => queueProviderRabbitMQ.GetQueueMessageCount("queue1"));

            queueProviderRabbitMQ.Dispose();
            model.Verify(x => x.Close());
            model.Verify(x => x.Dispose());

            Assert.Throws <AggregateException>(() => task.Wait());
            @event.Set();
        }