Example #1
0
        public void Start()
        {
            var messageSendSettings = new MessageSettingsOut(settings.SendTo);

            listener.OnMessage += Listener_OnMessageReceive;
            listener.StartListening(messageSendSettings);
        }
        private void SendTestMessageToQueue(TestMessage testMessage, string queue)
        {
            var processor       = new Processor();
            var messageSettings = new MessageSettingsOut(queue);

            var loggerMock = new Mock <IMessageLogger>();

            loggerMock.Setup(x => x.LogMessage(It.IsAny <EventId>(), It.IsAny <IProcessor>(), It.IsAny <ILogMessage>()));

            var announcer = new Announcer(hostSettings, processor, loggerMock.Object);

            announcer.Announce(testMessage, messageSettings);
        }
Example #3
0
        private void SendTestMessageToQueue(TestMessage testMessage, string queue)
        {
            var processor       = new Processor();
            var messageSettings = new MessageSettingsOut(queue);

            var loggerMock = new Mock <IMessageLogger>();

            loggerMock.Setup(x => x.LogMessage(It.IsAny <EventId>(), It.IsAny <IProcessor>(), It.IsAny <ILogMessage>()));

            using (var announcer = new Announcer(hostSettings, processor, loggerMock.Object))
            {
                announcer.OnError += OnError;
                var isSuccess = announcer.Announce(testMessage, messageSettings);
                if (!isSuccess)
                {
                    OnError("not sended");
                }
            }
        }
Example #4
0
        public void ReceiveMessageFromListenerAndCallAnnouncer()
        {
            ModuleSettings setting = new ModuleSettings()
            {
                AppId    = Guid.Empty,
                ListenOn = "test",
                SendTo   = "test",
            };

            var fakeMessageFormListener = new CreateOrderMessage
            {
                Id        = Guid.Empty,
                IsTest    = true,
                OrderId   = 53462,
                OrderName = "Test order",
            };

            var messageSendSettings   = new MessageSettingsOut(setting.SendTo);
            var messageListenSettings = new MessageSettingsIn(setting.ListenOn);

            var loggerMock = new Mock <ILogger <UpdateAddressModule> >();

            var queueListenerMok = new Mock <IListener>();

            queueListenerMok.Setup(x => x.StartListening(messageListenSettings, null));


            var queueAnnouncerMok = new Mock <IAnnouncer>();

            queueAnnouncerMok.Setup(x => x.Announce(fakeMessageFormListener, It.IsAny <IMessageSettingsOut>())).Verifiable("Listener should call anouncer!");


            var module = new UpdateAddressModule(setting, loggerMock.Object, queueListenerMok.Object, queueAnnouncerMok.Object);

            module.Start();
            queueListenerMok.Raise(x => x.OnMessage += (test) => { }, fakeMessageFormListener);
            Task.Delay(2000);
            queueAnnouncerMok.VerifyAll();
            //If we are in here it's mean success
            Assert.True(true);
        }
Example #5
0
 //Only for tests! Remove me
 public void ProduceFakeTestMessage()
 {
     using (var anouncer = serviceProvider.GetService <IAnnouncer>())
     {
         while (true)
         {
             var text    = Console.ReadLine();
             var message = new CreateOrderMessage()
             {
                 Id        = Guid.NewGuid(),
                 OrderId   = 5425212,
                 OrderName = text,
                 IsTest    = true,
             };
             // for (int i = 0; i < 5; i++)
             {
                 var messageSendSettings = new MessageSettingsOut(ApplicationMode.CHECK_IN.ToName());
                 anouncer.Announce(message, messageSendSettings);
             }
         }
     }
 }
        private void Listener_OnMessageReceive(IMessage message)
        {
            var messageSendSettings = new MessageSettingsOut(settings.SendTo);

            announcer.Announce(message, messageSendSettings);
        }