/// <summary> /// This method listens for email messages on the message queue and sends an email if it receives a message /// </summary> public void Consume() { _channel.ExchangeDeclare(RabbitMqExchange.UserExchange, ExchangeType.Direct); _channel.QueueDeclare(RabbitMqQueues.AddActivationQueue, true, false, false, null); _channel.QueueBind(RabbitMqQueues.AddActivationQueue, RabbitMqExchange.UserExchange, RabbitMqRouting.AddActivation); _channel.BasicQos(0, 10, false); var consumer = new EventingBasicConsumer(_channel); consumer.Received += async(sender, e) => { try { byte[] body = e.Body.ToArray(); string json = Encoding.UTF8.GetString(body); var userActivationRabbitMq = Newtonsoft.Json.JsonConvert.DeserializeObject <UserActivationRabbitMq>(json); await _activationLogic.Add(userActivationRabbitMq); } catch (Exception exception) { _logLogic.Log(exception); } }; _channel.BasicConsume(RabbitMqQueues.AddActivationQueue, true, consumer); }
public void AddUnprocessableExceptionTest() { Assert.ThrowsAsync <UnprocessableException>(() => _activationLogic.Add(new UserActivationRabbitMq())); }