Esempio n. 1
0
        public void MessageIsRepublished()
        {
            ArtificialQueueWrapper         qw  = new ArtificialQueueWrapper();
            Mock <ILogger>                 log = new Mock <ILogger>();
            Mock <IMethodInspectorManager> mim = new Mock <IMethodInspectorManager>();

            Mock <IConfigurationManager> config = new Mock <IConfigurationManager>();

            config.Setup(x => x.Get("UseStructureMap", false)).Returns(true);
            var container = new Container(new MicroserviceRegistry(typeof(ConsumeMessageTests).Assembly));

            container.Configure(x => { x.For <IQueueWrapper>().ClearAll().Use(qw); });

            var containerFacade = new ContainerFacade(container, config.Object);

            MessageSubscriber subscriber       = new MessageSubscriber(qw, log.Object, config.Object, _metrics, mim.Object, containerFacade);
            Guid messageGuid                   = Guid.NewGuid();
            BasicDeliverEventArgs eventDetails = new BasicDeliverEventArgs()
            {
                Body = Encoding.ASCII.GetBytes("{uuid:\"" + messageGuid + "\", method:\"GetFish\", source:\"Nowhere\", need:\"redherring\",publishedTime:\"" + DateTime.UtcNow.ToString("s") + "\", lastModifiedBy:\"test\", lastModifiedTime:\"" + DateTime.UtcNow.ToString("s") + "\"}")
            };

            subscriber.ConsumeMessage(null, eventDetails);
            Thread.Sleep(50);
            Assert.AreEqual(1, qw.AcknowledgedMessages.Count);
            Assert.IsTrue(qw.AcknowledgedMessages.Contains(eventDetails));
            Assert.AreEqual(1, qw.PublishedMessages.Count);
        }
Esempio n. 2
0
        public void UndeserialisableMessageIsAcked()
        {
            ArtificialQueueWrapper         qw           = new ArtificialQueueWrapper();
            Mock <ILogger>                 log          = new Mock <ILogger>();
            Mock <IMethodInspectorManager> mim          = new Mock <IMethodInspectorManager>();
            Mock <IConfigurationManager>   config       = new Mock <IConfigurationManager>();
            MessageSubscriber              subscriber   = new MessageSubscriber(qw, log.Object, config.Object, _metrics, mim.Object, Mock.Of <IContainerFacade>());
            BasicDeliverEventArgs          eventDetails = new BasicDeliverEventArgs()
            {
                Body = Encoding.ASCII.GetBytes("{message:\"Hello World\"}")
            };

            subscriber.ConsumeMessage(null, eventDetails);
            Assert.IsTrue(qw.AcknowledgedMessages.Contains(eventDetails));
        }