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")); }
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)); }
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> >())); }
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); }
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> >())); }
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> >())); }
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(); }