public void StartMessageConsumer_WhenCalledAfterStart_CallsLoggerTrace() { var dateTimeProvider = new Mock <IDateTimeProvider>(); var logger = new Mock <ILogger>(); var configurationManager = new Mock <IConfigurationManager>(); configurationManager.Setup(x => x.Get <string>("QueueUri")).Returns("amqp://*****:*****@localhost:5672"); var model = new Mock <IModel>(); var connection = new Mock <IConnection>(); connection.Setup(x => x.CreateModel()).Returns(model.Object); var connectionManager = new Mock <IRabbitMqConnectionManager>(); connectionManager.Setup(x => x.Connection).Returns(connection.Object); var rabbitMqWrapper = new RabbitMqWrapper(dateTimeProvider.Object, logger.Object, configurationManager.Object, connectionManager.Object, _metrics); rabbitMqWrapper.Start(); rabbitMqWrapper.StartMessageConsumer(new Mock <AsyncEventHandler <BasicDeliverEventArgs> >().Object); logger.Verify(x => x.Trace(It.Is <string>(s => s == "RabbitMqWrapper.StartMessageConsumer"), It.Is <LogItem>(li => li.Key == "Event" && li.Value() == "Message handler subscribed to queue"), It.Is <LogItem>(li => li.Key == "QueueName"), It.Is <LogItem>(li => li.Key == "ConsumerTag"), It.Is <LogItem>(li => li.Key == "HandlerMethod" && li.Value() == "Invoke")), Times.Once); }
public void StartMessageConsumer_WhenCalledWithoutStart_RaisesException() { var dateTimeProvider = new Mock <IDateTimeProvider>(); var logger = new Mock <ILogger>(); var configurationManager = new Mock <IConfigurationManager>(); configurationManager.Setup(x => x.Get <string>("QueueUri")).Returns("amqp://*****:*****@localhost:5672"); var model = new Mock <IModel>(); var connection = new Mock <IConnection>(); connection.Setup(x => x.CreateModel()).Returns(model.Object); var connectionManager = new Mock <IRabbitMqConnectionManager>(); connectionManager.Setup(x => x.Connection).Returns(connection.Object); var rabbitMqWrapper = new RabbitMqWrapper(dateTimeProvider.Object, logger.Object, configurationManager.Object, connectionManager.Object, _metrics); rabbitMqWrapper.StartMessageConsumer(new Mock <AsyncEventHandler <BasicDeliverEventArgs> >().Object); }