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(); }
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(); }
void Register() { var sender = new RabbitMQMessageSender(); var message = new RegisterAmbulanceStation(StationId, Name, PrinterId, Coordinates.Latitude, Coordinates.Longitude); sender.Send(message, "internal_comm_queue"); }
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; } } }
public void EventMessageSenderDisposes() { var target = new RabbitMQMessageSender(_busContext); target.Dispose(); _channelMock.Verify(c => c.Dispose()); }
public async Task EventMessageSenderSendsCorrectMessageToCorrectExchangeWithCorrectTopic() { var target = new RabbitMQMessageSender(_busContext); await target.SendMessageAsync(_eventMessage); _channelMock.Verify(c => c.BasicPublish(_exchangeName, _topic, false, _propsMock.Object, _body)); }
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)); }
public WarehouseService(WarehouseContext warehouseContext , RabbitMQMessageSender mqSender , EshopServiceClient eshopServiceClient , IOptions <WarehouseRabbitMQOption> mqOptions) { _warehouseContext = warehouseContext; _mqSender = mqSender; _mqOptions = mqOptions; _eshopServiceClient = eshopServiceClient; }
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(); }
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; }
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(); }
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); }
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); }
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); }
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")); }); }
public Form1() { InitializeComponent(); _Queue = new RabbitMQMessageSender(); }
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 + ")"); } } }