コード例 #1
0
        public void SendMessage_CallsBasicPublish_WithCorrectExchangeName()
        {
            // Arrange
            var propsMock = new Mock <IBasicProperties>();

            var channelMock = new Mock <IModel>(MockBehavior.Strict);

            channelMock.Setup(c => c.BasicPublish(It.Is <string>(k => k == "Testexchange1"),
                                                  "MyRoutingKey",
                                                  false,
                                                  propsMock.Object,
                                                  It.Is <byte[]>(b => Encoding.UTF8.GetString(b) == "MyMessage")))
            .Verifiable();

            channelMock.Setup(c => c.CreateBasicProperties())
            .Returns(propsMock.Object)
            .Verifiable();

            var connectionMock = new Mock <IConnection>(MockBehavior.Strict);

            connectionMock.Setup(c => c.CreateModel())
            .Returns(channelMock.Object)
            .Verifiable();

            var context = new RabbitMQBusContext(connectionMock.Object, "Testexchange1");

            var sender = new RabbitMQMessageSender(context);

            // Act
            sender.SendMessage(new EventMessage("MyRoutingKey", "MyMessage"));

            // Assert
            channelMock.VerifyAll();
        }
コード例 #2
0
        public void SendMessage_CallsBasicPublish_WithCorrectCorrelationIdInBasicProperties()
        {
            // Arrange
            IBasicProperties props = new BasicProperties();

            var channelMock = new Mock <IModel>(MockBehavior.Strict);

            channelMock.Setup(c => c.CreateBasicProperties())
            .Returns(props)
            .Verifiable();

            channelMock.Setup(c => c.BasicPublish("Testxchange1",
                                                  "MyRoutingKey",
                                                  false,
                                                  It.Is <IBasicProperties>(p => p.CorrelationId == "correlationID"),
                                                  It.IsAny <Byte[]>()))
            .Verifiable();

            var connectionMock = new Mock <IConnection>(MockBehavior.Strict);

            connectionMock.Setup(c => c.CreateModel())
            .Returns(channelMock.Object)
            .Verifiable();

            var context = new RabbitMQBusContext(connectionMock.Object, "Testxchange1");

            var sender = new RabbitMQMessageSender(context);

            // Act
            sender.SendMessage(new EventMessage("MyRoutingKey", "MyMessage", "Test", 9, "correlationID"));

            // Assert
            channelMock.VerifyAll();
        }
コード例 #3
0
        void Register()
        {
            var sender  = new RabbitMQMessageSender();
            var message = new RegisterAmbulanceStation(StationId, Name, PrinterId, Coordinates.Latitude, Coordinates.Longitude);

            sender.Send(message, "internal_comm_queue");
        }
コード例 #4
0
        public static void SendActiveGames()
        {
            foreach (var link in _links)
            {
                try
                {
                    LiveEvent live;
                    switch (link.Sport)
                    {
                    case SportEnum.Dota2:
                        live = ParseDota2(link);
                        if (live != null)
                        {
                            live.UpdateDate = DateTime.UtcNow;
                            RabbitMQMessageSender.Send(live);
                        }
                        break;

                    case SportEnum.LeagueOfLegends:
                        live = ParseLeagueOfLegends(link);
                        if (live != null)
                        {
                            live.UpdateDate = DateTime.UtcNow;
                            RabbitMQMessageSender.Send(live);
                        }
                        break;
                    }
                }
                catch (Exception ex)
                {
                    continue;
                }
            }
        }
コード例 #5
0
        public void EventMessageSenderDisposes()
        {
            var target = new RabbitMQMessageSender(_busContext);

            target.Dispose();

            _channelMock.Verify(c => c.Dispose());
        }
コード例 #6
0
        public async Task EventMessageSenderSendsCorrectMessageToCorrectExchangeWithCorrectTopic()
        {
            var target = new RabbitMQMessageSender(_busContext);

            await target.SendMessageAsync(_eventMessage);

            _channelMock.Verify(c => c.BasicPublish(_exchangeName, _topic, false, _propsMock.Object, _body));
        }
コード例 #7
0
        public async Task EventMessageSenderDeclaresExchange()
        {
            var target = new RabbitMQMessageSender(_busContext);

            await target.SendMessageAsync(_eventMessage);

            _channelMock.Verify(c => c.ExchangeDeclare(_exchangeName, ExchangeType.Topic,
                                                       It.IsAny <bool>(), It.IsAny <bool>(), null));
        }
コード例 #8
0
 public WarehouseService(WarehouseContext warehouseContext
                         , RabbitMQMessageSender mqSender
                         , EshopServiceClient eshopServiceClient
                         , IOptions <WarehouseRabbitMQOption> mqOptions)
 {
     _warehouseContext   = warehouseContext;
     _mqSender           = mqSender;
     _mqOptions          = mqOptions;
     _eshopServiceClient = eshopServiceClient;
 }
コード例 #9
0
ファイル: Cancelator.cs プロジェクト: mavady/ADS
        public Cancelator(IDatabase db)
        {
            ambulanceRepository  = new AmbulanceRepository(db);
            hospitalRepository   = new HospitalRepository(db);
            incidentRepository   = new IncidentRepository(db);
            allocationRepository = new AllocationRepository(db);

            sender = new RabbitMQMessageSender();
            allocationsToProcess = new BlockingCollection <Allocation>();

            new Thread(Start).Start();
        }
コード例 #10
0
 public OrderService(OrderContext orderContext
                     , UserContext userContext
                     , BucketRepository bucketRepository
                     , PriceServiceClient pricingClient
                     , WarehouseServiceClient warehouseServiceClient
                     , RabbitMQMessageSender mqSender
                     , MetricReporter metricReporter
                     , IDistributedCache distributedCache)
 {
     _orderContext           = orderContext;
     _userContext            = userContext;
     _pricingClient          = pricingClient;
     _warehouseServiceClient = warehouseServiceClient;
     _bucketRepository       = bucketRepository;
     _mqSender         = mqSender;
     _metricReporter   = metricReporter;
     _distributedCache = distributedCache;
 }
コード例 #11
0
ファイル: MDT.cs プロジェクト: mavady/ADS
        public MDT(string identifier, float latitude, float longitude, Func <bool> sendPosition)
        {
            this.ambulanceId = identifier;
            this.latitude    = latitude;
            this.longitude   = longitude;

            lockPosition = new object();
            sender       = new RabbitMQMessageSender();
            Messages     = new Stack <Message>();

            avls     = new AVLS(this, sendPosition);
            listener = new MDTServerRabbitMQListener("mdt_" + ambulanceId, this);
            var ts = new ThreadStart(listener.Run);
            var t  = new Thread(ts);

            t.Start();

            Register();
        }
コード例 #12
0
        public void CreateMessageSender_ReturnsMessageSenderWithCorrectProperties()
        {
            // Arrange
            var channelMock    = new Mock <IModel>(MockBehavior.Strict);
            var connectionMock = new Mock <IConnection>(MockBehavior.Strict);

            connectionMock.Setup(c => c.CreateModel())
            .Returns(channelMock.Object);

            var context = new RabbitMQBusContext(connectionMock.Object, "TestExchange3");

            // Act
            RabbitMQMessageSender sender = (RabbitMQMessageSender)context.CreateMessageSender();

            // Assert
            Assert.AreEqual("TestExchange3", sender.ExchangeName);
            IModel channel = TestHelper.GetPrivateProperty <IModel>(sender, "Channel");

            Assert.AreEqual(channelMock.Object, channel);
        }
コード例 #13
0
        public void Constructor_SetsPropertiesCorrectly()
        {
            // Arrange
            var channelMock    = new Mock <IModel>(MockBehavior.Strict);
            var connectionMock = new Mock <IConnection>(MockBehavior.Strict);

            connectionMock.Setup(c => c.CreateModel())
            .Returns(channelMock.Object);

            var context = new RabbitMQBusContext(connectionMock.Object, "ExchangeName");

            // Act
            var sender = new RabbitMQMessageSender(context);

            // Assert
            Assert.AreEqual("ExchangeName", sender.ExchangeName);
            IModel channel = TestHelper.GetPrivateProperty <IModel>(sender, "Channel");

            Assert.AreEqual(channelMock.Object, channel);
        }
コード例 #14
0
        public async Task EventMessageSenderSendsCorrectHeaderInfo()
        {
            _propsMock.SetupProperty(p => p.CorrelationId);
            _propsMock.SetupProperty(p => p.Timestamp);
            _propsMock.SetupProperty(p => p.Type);

            Guid guid      = Guid.NewGuid();
            long timestamp = DateTime.Now.Ticks;

            _eventMessage.CorrelationId = guid;
            _eventMessage.Timestamp     = timestamp;
            _eventMessage.EventType     = "String";

            var target = new RabbitMQMessageSender(_busContext);

            await target.SendMessageAsync(_eventMessage);

            Assert.AreEqual(guid.ToString(), _propsMock.Object.CorrelationId);
            Assert.AreEqual(new AmqpTimestamp(timestamp), _propsMock.Object.Timestamp);
            Assert.AreEqual("String", _propsMock.Object.Type);
        }
コード例 #15
0
        public void SendMessage_WithSenderDisposed_ThrowsObjectDisposedException()
        {
            // Arrange
            var channelMock = new Mock <IModel>();

            var connectionMock = new Mock <IConnection>();

            connectionMock.Setup(c => c.CreateModel())
            .Returns(channelMock.Object);

            var context = new RabbitMQBusContext(connectionMock.Object, "Testexchange1");

            var sender = new RabbitMQMessageSender(context);

            sender.Dispose();

            // Act & Assert
            Assert.ThrowsException <ObjectDisposedException>(() =>
            {
                sender.SendMessage(new EventMessage("MyRoutingKey", "MyMessage"));
            });
        }
コード例 #16
0
ファイル: Form1.cs プロジェクト: boldtbanan/StartR
 public Form1()
 {
     InitializeComponent();
     _Queue = new RabbitMQMessageSender();
 }
コード例 #17
0
ファイル: Form1.cs プロジェクト: Rustemt/StartR
 public Form1()
 {
     InitializeComponent();
     _Queue = new RabbitMQMessageSender();
 }
コード例 #18
0
        public static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            var sender = new RabbitMQMessageSender();

            // bounds for the map
            var minlat = 50.645f;
            var minlon = 3.981f;
            var maxlat = 51.053f;
            var maxlon = 4.761f;

            // Ixelles / WB
            maxlat = 50.836502f;
            minlon = 4.358462f;
            minlat = 50.804618f;
            maxlon = 4.413308f;

            // Smaller big brussels
            //minlat = 50.784339f;
            //minlon = 4.258908f;
            //maxlat = 50.896534f;
            //maxlon = 4.475030f;

            var random = new Random();

            var incidentLat  = (float)(minlat + random.NextDouble() * (maxlat - minlat));
            var incidentLong = (float)(minlon + random.NextDouble() * (maxlon - minlon));


            var  httpClient = new HttpClient();
            bool _stop      = false;

            while (!_stop)
            {
                Console.Write("> ");
                var address = Console.ReadLine().Trim();

                if (address.Equals("quit") | address.Equals("exit"))
                {
                    _stop = true;
                    continue;
                }

                try
                {
                    var httpResult = httpClient.GetAsync("http://nominatim.openstreetmap.org/search?q=" + address + "&format=json&polygon=1&addressdetails=1");

                    var    result        = httpResult.Result.Content.ReadAsStringAsync().Result;
                    JArray parsed_result = JsonConvert.DeserializeObject <JArray>(result);

                    Console.WriteLine(parsed_result[0]["lat"]);
                    Console.WriteLine(parsed_result[0]["lon"]);

                    var m = new IncidentForm(incidentLat, incidentLong);
                    sender.Send(m, "incident_queue");
                } catch (Exception e) {
                    Console.WriteLine("An error occured (" + e.Message + ")");
                }
            }
        }