public RewriterResults rewrite(Gadget gadget, MutableContent content) { if (gadget.getSpec().getModulePrefs().getFeatures().ContainsKey("caja") || "1".Equals(gadget.getContext().getParameter("caja"))) { URI retrievedUri = gadget.getContext().getUrl(); UriCallback2 cb = new UriCallback2(retrievedUri); MessageQueue mq = new SimpleMessageQueue(); DefaultGadgetRewriter rw = new DefaultGadgetRewriter(mq); CharProducer input = CharProducer.Factory.create( new java.io.StringReader(content.getContent()), FilePosition.instance(new InputSource(new java.net.URI(retrievedUri.ToString())), 2, 1, 1)); java.lang.StringBuilder output = new java.lang.StringBuilder(); try { rw.rewriteContent(new java.net.URI(retrievedUri.ToString()), input, cb, output); } catch (GadgetRewriteException e) { throwCajolingException(e, mq); return(RewriterResults.notCacheable()); } catch (IOException e) { throwCajolingException(e, mq); return(RewriterResults.notCacheable()); } content.setContent(tameCajaClientApi() + output.ToString()); } return(null); }
public void publishing_of_message_without_handlers_should_not_throw() { using (var bus = new SimpleMessageQueue(10)) { Assert.DoesNotThrow(() => bus.Publish(new UnHandledMessage())); } }
public MessageController(IConfiguration configuration) { var section = configuration.GetSection("Redis"); _configuration = section.Get <RedisConfiguration>(); _redisPublisher = new SimpleMessageQueue(_configuration.Host); }
public void messages_should_have_only_one_handler() { using (var bus = new SimpleMessageQueue(10)) { bus.RegisterAssemblyOf <SampleMessageHandler>(); var ex = Assert.Throws <TooManyMessageHandlersException>(() => bus.Send(new CommandWithMultipleHandlers())); } }
public void sending_a_message_without_handler_should_trow() { using (var bus = new SimpleMessageQueue(10)) { var ex = Assert.Throws <Exception>(() => bus.Send(new UnHandledMessage())); Assert.IsTrue(ex.Message.StartsWith("Missing handler for message")); } }
public void Setup() { if (SimpleMessageQueue.Exists(QueuePath)) { SimpleMessageQueue.Delete(QueuePath); } SimpleMessageQueue.Create(QueuePath, new BinaryFormatter()); }
public void Enqueue_Adding10000MessagesSequencial_WorksFine() { using (var queue = new SimpleMessageQueue(new DirectoryInfo(QueuePath))) { for (var i = 0; i < 10000; i++) queue.Enqueue(1); Assert.AreEqual(10000, queue.Count); } }
public void Receive_WhenAddingTwoMessagesAndThenReadOne_QueueCountIsOne() { using (var queue = new SimpleMessageQueue(new DirectoryInfo(QueuePath))) { queue.Enqueue(1); queue.Enqueue(2); queue.Receive(new CancellationTokenSource().Token); Assert.AreEqual(1, queue.Count); } }
private void StartMessageQueue() { _simpleMessageQueue = new SimpleMessageQueue(10); var assemblies = AppDomain.CurrentDomain.GetAssemblies().Where(x => x.GetName().Name.StartsWith("Bookings")).ToArray(); foreach (var assembly in assemblies) { _simpleMessageQueue.RegisterAssembly(assembly); } }
public void Receive_WhenHavingTransactionAndOneItemAreAddedToQueue_FileIsNotRemovedFromFileSystem() { using (var queue = new SimpleMessageQueue(new DirectoryInfo(QueuePath))) { using (var transaction = queue.BeginTransaction()) { queue.Enqueue(1); var message = queue.Receive(new CancellationTokenSource().Token, transaction); Assert.IsTrue(new FileInfo(Path.Combine(QueuePath, "data", message.MessageId.ToString())).Exists); } } }
public void Enqueue_Adding10000MessagesSequencial_WorksFine() { using (var queue = new SimpleMessageQueue(new DirectoryInfo(QueuePath))) { for (var i = 0; i < 10000; i++) { queue.Enqueue(1); } Assert.AreEqual(10000, queue.Count); } }
public void Enqueue_WhenCreatingTwoInstancesAndAddingOneToEachOne_QueueCountIsTwo() { using (var queue1 = new SimpleMessageQueue(new DirectoryInfo(QueuePath))) { using (var queue2 = new SimpleMessageQueue(new DirectoryInfo(QueuePath))) { queue1.Enqueue(1); queue2.Enqueue(2); Assert.AreEqual(2, queue1.Count); Assert.AreEqual(2, queue2.Count); } } }
public void Dequeue_WhenAddingStringToQueue_WhenDequingSameStringIsReturned() { using (var queue = new SimpleMessageQueue(new DirectoryInfo(QueuePath))) { queue.Enqueue("Niclas"); queue.Dispose(); } using (var queue = new SimpleMessageQueue(new DirectoryInfo(QueuePath))) { Assert.AreEqual("Niclas", queue.Receive(new CancellationTokenSource().Token).Payload); } }
public void Receive_WhenHavingTransactionAndOneItemAreAddedToQueue_FileAreReaddedToQueueWhenRollback() { using (var queue = new SimpleMessageQueue(new DirectoryInfo(QueuePath))) { using (var transaction = queue.BeginTransaction()) { queue.Enqueue(1); var message = queue.Receive(new CancellationTokenSource().Token, transaction); Assert.IsTrue(new FileInfo(Path.Combine(QueuePath, "data", message.MessageId.ToString())).Exists); } Assert.AreEqual(1, queue.Count); } }
public void Recover_WhenAddingTwoMessagesAndDisposesQueue_NewQueueHasTwoMessages() { using (var queue = new SimpleMessageQueue(new DirectoryInfo(QueuePath))) { queue.Enqueue(1); queue.Enqueue(2); queue.Dispose(); } using (var queue = new SimpleMessageQueue(new DirectoryInfo(QueuePath))) { Assert.AreEqual(2, queue.Count); } }
public void Enqueue_Adding10000MessagesAsyncroniusly_WorksFine() { Parallel.For(0, 10, x => { using (var queue = new SimpleMessageQueue(new DirectoryInfo(QueuePath))) { for (var i = 0; i < 1000; i++) queue.Enqueue(1); } }); using (var queue = new SimpleMessageQueue(new DirectoryInfo(QueuePath))) { Assert.AreEqual(10000, queue.Count); } }
public void Enqueue_Adding10000MessagesAsyncroniusly_WorksFine() { Parallel.For(0, 10, x => { using (var queue = new SimpleMessageQueue(new DirectoryInfo(QueuePath))) { for (var i = 0; i < 1000; i++) { queue.Enqueue(1); } } }); using (var queue = new SimpleMessageQueue(new DirectoryInfo(QueuePath))) { Assert.AreEqual(10000, queue.Count); } }
public void all_messages_should_have_been_handled_after_queue_shutdown() { SampleMessageHandler.Counter = 0; using (var bus = new SimpleMessageQueue(200)) { SampleMessageHandler.ApplicationBus = bus; bus.RegisterAssemblyOf <SampleMessageHandler>(); bus.Send(new SampleMessage("Message 1")); bus.Send(new SampleMessage("Message 2")); bus.Send(new SampleMessage("Message 3")); bus.Send(new SampleMessage("Message 4")); } // 4*2 (parent + child) + 3 * 2 (retries for Chaos Monkey generated failures) Assert.AreEqual(8 + 6, SampleMessageHandler.Counter); }
public RewriterResults rewrite(Gadget gadget, MutableContent content) { if (gadget.getSpec().getModulePrefs().getFeatures().ContainsKey("caja") || "1".Equals(gadget.getContext().getParameter("caja"))) { URI retrievedUri = gadget.getContext().getUrl(); UriCallback2 cb = new UriCallback2(retrievedUri); MessageQueue mq = new SimpleMessageQueue(); DefaultGadgetRewriter rw = new DefaultGadgetRewriter(mq); CharProducer input = CharProducer.Factory.create( new java.io.StringReader(content.getContent()), FilePosition.instance(new InputSource(new java.net.URI(retrievedUri.ToString())), 2, 1, 1)); java.lang.StringBuilder output = new java.lang.StringBuilder(); try { rw.rewriteContent(new java.net.URI(retrievedUri.ToString()), input, cb, output); } catch (GadgetRewriteException e) { throwCajolingException(e, mq); return RewriterResults.notCacheable(); } catch (IOException e) { throwCajolingException(e, mq); return RewriterResults.notCacheable(); } content.setContent(tameCajaClientApi() + output.ToString()); } return null; }
public void Receive_WhenHavingTransactionAndOneItemAreAddedToQueue_FileIsRemovedFromFileSystemWhenCommited() { using (var queue = new SimpleMessageQueue(new DirectoryInfo(QueuePath))) { using (var transaction = queue.BeginTransaction()) { queue.Enqueue(1); var message = queue.Receive(new CancellationTokenSource().Token, transaction); transaction.Commit(); Assert.IsFalse(new FileInfo(Path.Combine(QueuePath, "data", message.MessageId.ToString())).Exists); } } }