public void OnMessageReceived_WithNewtonsoftJObject_UpdatesObject() { dynamic @object = new { _id = 1, Content = "new object" }; JObject jObject = JObject.FromObject(@object); Creator.CreateObject(jObject); dynamic uObject = new { _id = 1, Content = "updated object" }; JObject newJObject = JObject.FromObject(uObject); var message = newJObject.ToString(); ConsumerUpdater.Start(); Publisher.PublishMessage(message); AutoResetEvent.WaitOne(); //Wait until entry updated var actualObject = Reader.ReadObjects().First(o => (int)o["_id"] == 1); Assert.AreEqual(1, (int)actualObject["_id"]); Assert.AreEqual("updated object", (string)actualObject["Content"]); ConsumerUpdater.Stop(); }
public void PublishMessage_ConsumeMessage_PassesMessage() { var messageSent = "Hello world!"; Publisher.PublishMessage(messageSent); var messageReceived = Consumer.ConsumeMessage(); Assert.AreEqual(messageSent, messageReceived); }
public void OnMessageReceived_WithIdInMessage_DeletesEntry() { CreateEntry("new object"); ConsumerDeleter.Start(); Publisher.PublishMessage("1"); AutoResetEvent.WaitOne(); //Wait until entry deleted var jObjects = Reader.ReadObjects(); Assert.AreEqual(0, jObjects.Count); ConsumerDeleter.Stop(); }
public void PublishMessage_AutoConsumeMessage_PassesMessage() { var messageSent = "Hello world!"; AutoConsumer.MessageReceived += _consumer_MessageReceived; AutoConsumer.Start(); //Perhaps try waiting for 10 secs here //to make sure it does not crash. _publisher.PublishMessage(messageSent); _autoResetEvent.WaitOne(); //Wait until message received. Assert.AreEqual(messageSent, _message); AutoConsumer.Stop(); //This stops it from running continuously. Nice. //I guess because once the channel is killed, //It has no context that can wait for a Message to come back, //so it stops waiting. }
public IEnumerable <Categories> Modify() { _logger.LogInformation("called"); var category = new Categories() { CategoryName = "dib it" }; _categoriesService.AddCategories(category); MessagePublisher.PublishMessage(category); category = new Categories() { CategoryName = "dib not it" }; _categoriesService.RolledBackAddCategories(category); var categories = _categoriesService.GetCategories(); return(categories); }
public void OnMessageReceived_WithObjectInMessage_CreatesEntry() { dynamic @object = new { _id = 1, Content = "new object" }; JObject jObject = JObject.FromObject(@object); var message = jObject.ToString(); ConsumerCreator.Start(); Publisher.PublishMessage(message); AutoResetEvent.WaitOne(); //Wait until entry created var jObjects = Reader.ReadObjects(); var actualJObject = jObjects.FirstOrDefault(); Assert.AreEqual("", actualJObject["Content"]); ConsumerCreator.Stop(); }
public void OnMessageReceived_WithEntriesInDb_ReadsEntriesAndPublishesMessage() { dynamic @object = new { _id = 1, Content = "new object" }; JObject jObject = JObject.FromObject(@object); Broker.CreateObject(jObject); ConsumerReader.Start(); Publisher.PublishMessage("Not important"); AutoResetEvent.WaitOne(); //Wait until Results published. var receivedMessage = Consumer.ConsumeMessage(); var jObjects = JsonConvert.DeserializeObject <List <JObject> >(receivedMessage); var actualJObject = jObjects[0]; Assert.AreEqual("new object", (string)actualJObject["Content"]); ConsumerReader.Stop(); }