Ejemplo n.º 1
0
        public void EnqueueSingleMessage_and_StartListening_must_deal_with_generic_objects()
        {
            QueueMock.ClearAllQueues();

            var message = new Invoice
            {
                AccountReference    = Guid.NewGuid().ToString(),
                CurrencyUsed        = false,
                CustomerOrderNumber = int.MaxValue,
                ForeignRate         = 352.65m,
                InvoiceDate         = DateTime.Now,
                InvoiceNumber       = int.MaxValue,
                ItemsNet            = int.MinValue,
                ItemsTax            = 65645.98m,
                ItemsTotal          = 321564m,
                OrderNumber         = 321123,
            };

            var mockMQConfig = new MemoryMessageConfig(defaultBroker: "MockMQ", defaultBrokerConfigType: typeof(MockMQConfig));

            Messaging.Enqueue("invoices-b", message, mockMQConfig);

            var typedMessage = Messaging.Dequeue <Invoice>("invoices-b", mockMQConfig);

            Assert.AreEqual(message.AccountReference, typedMessage.AccountReference);
            Assert.AreEqual(message.CurrencyUsed, typedMessage.CurrencyUsed);
            Assert.AreEqual(message.CustomerOrderNumber, typedMessage.CustomerOrderNumber);
            Assert.AreEqual(message.ForeignRate, typedMessage.ForeignRate);
            Assert.AreEqual(message.InvoiceDate, typedMessage.InvoiceDate);
            Assert.AreEqual(message.InvoiceNumber, typedMessage.InvoiceNumber);
            Assert.AreEqual(message.ItemsNet, typedMessage.ItemsNet);
            Assert.AreEqual(message.ItemsTax, typedMessage.ItemsTax);
            Assert.AreEqual(message.ItemsTotal, typedMessage.ItemsTotal);
            Assert.AreEqual(message.OrderNumber, typedMessage.OrderNumber);
        }
Ejemplo n.º 2
0
 public void Init()
 {
     QueueMock.ClearAllQueues();
     foreach (var item in Directory.GetFiles(folder, "*.config"))
     {
         if (!item.EndsWith("messaging.config"))
         {
             File.Delete(item);
         }
     }
 }
Ejemplo n.º 3
0
        public void EnqueueMessage_and_StartListening_must_deal_with_generic_objects()
        {
            QueueMock.ClearAllQueues();

            var message = new Invoice
            {
                AccountReference    = Guid.NewGuid().ToString(),
                CurrencyUsed        = false,
                CustomerOrderNumber = int.MaxValue,
                ForeignRate         = 352.65m,
                InvoiceDate         = DateTime.Now,
                InvoiceNumber       = int.MaxValue,
                ItemsNet            = int.MinValue,
                ItemsTax            = 65645.98m,
                ItemsTotal          = 321564m,
                OrderNumber         = 321123,
            };


            var mockMQConfig = new MemoryMessageConfig(defaultBroker: "MockMQ", defaultBrokerConfigType: typeof(MockMQConfig));

            using (var client = new Messaging(mockMQConfig))
            {
                client.EnqueueMessage("invoices-a", message);
            }


            using (var client = new Messaging(mockMQConfig))
            {
                client.StartListening("invoices-a", (args) =>
                {
                    var typedMessage = args.GetMessage <Invoice>();
                    Assert.AreEqual(message.AccountReference, typedMessage.AccountReference);
                    Assert.AreEqual(message.CurrencyUsed, typedMessage.CurrencyUsed);
                    Assert.AreEqual(message.CustomerOrderNumber, typedMessage.CustomerOrderNumber);
                    Assert.AreEqual(message.ForeignRate, typedMessage.ForeignRate);
                    Assert.AreEqual(message.InvoiceDate, typedMessage.InvoiceDate);
                    Assert.AreEqual(message.InvoiceNumber, typedMessage.InvoiceNumber);
                    Assert.AreEqual(message.ItemsNet, typedMessage.ItemsNet);
                    Assert.AreEqual(message.ItemsTax, typedMessage.ItemsTax);
                    Assert.AreEqual(message.ItemsTotal, typedMessage.ItemsTotal);
                    Assert.AreEqual(message.OrderNumber, typedMessage.OrderNumber);

                    return(true);
                });
                Thread.Sleep(1000);
            }
        }
Ejemplo n.º 4
0
 public override void EnqueueMessage(string queueName, string message)
 {
     QueueMock.EnqueueMessage(queueName, message);
     NotifyConsumers();
 }