public void when_receiving_message_then_can_send_new_message() { var secondReceiver = new TestableMessageReceiver(); this.sender.Send(new Message("message1")); var waitEvent = new AutoResetEvent(false); string receiver1Message = null; string receiver2Message = null; this.receiver.MessageReceived += (s, e) => { waitEvent.Set(); receiver1Message = e.Message.Body; waitEvent.WaitOne(); }; secondReceiver.MessageReceived += (s, e) => { receiver2Message = e.Message.Body; }; ThreadPool.QueueUserWorkItem(_ => { this.receiver.ReceiveMessage(); }); Assert.True(waitEvent.WaitOne(TimeSpan.FromSeconds(10))); this.sender.Send(new Message("message2")); secondReceiver.ReceiveMessage(); waitEvent.Set(); Assert.Equal("message1", receiver1Message); Assert.Equal("message2", receiver2Message); }
public void when_receiving_message_then_other_receivers_cannot_see_message_but_see_other_messages() { var secondReceiver = new TestableMessageReceiver(this.connectionFactory); this.sender.Send(new Message("message1")); this.sender.Send(new Message("message2")); var waitEvent = new AutoResetEvent(false); string receiver1Message = null; string receiver2Message = null; this.receiver.MessageReceived += (s, e) => { waitEvent.Set(); receiver1Message = e.Message.Body; waitEvent.WaitOne(); }; secondReceiver.MessageReceived += (s, e) => { receiver2Message = e.Message.Body; }; ThreadPool.QueueUserWorkItem(_ => { this.receiver.ReceiveMessage(); }); Assert.IsTrue(waitEvent.WaitOne(TimeSpan.FromSeconds(10))); secondReceiver.ReceiveMessage(); waitEvent.Set(); Assert.IsTrue("message1" == receiver1Message); Assert.IsTrue("message2" == receiver2Message); }
public void when_receiving_message_then_can_send_new_message() { var secondReceiver = new TestableMessageReceiver(this.connectionFactory); this.sender.Send(new Message("message1")); var waitEvent = new AutoResetEvent(false); string receiver1Message = null; string receiver2Message = null; this.receiver.MessageReceived += (s, e) => { waitEvent.Set(); receiver1Message = e.Message.Body; waitEvent.WaitOne(); }; secondReceiver.MessageReceived += (s, e) => { receiver2Message = e.Message.Body; }; ThreadPool.QueueUserWorkItem(_ => { this.receiver.ReceiveMessage(); }); Assert.IsTrue(waitEvent.WaitOne(TimeSpan.FromSeconds(10))); this.sender.Send(new Message("message2")); secondReceiver.ReceiveMessage(); waitEvent.Set(); Assert.IsTrue("message1" == receiver1Message); Assert.IsTrue("message2" == receiver2Message); }
public void WhenReceivingMessageThenCanSendNewMessage() { var secondReceiver = new TestableMessageReceiver(this._connectionFactory); this._sender.Send(new Message("message1")); var waitEvent = new AutoResetEvent(false); string receiver1Message = null; string receiver2Message = null; this._receiver.MessageReceived += (s, e) => { waitEvent.Set(); receiver1Message = e.Message.Body; waitEvent.WaitOne(); }; secondReceiver.MessageReceived += (s, e) => { receiver2Message = e.Message.Body; }; ThreadPool.QueueUserWorkItem(_ => this._receiver.ReceiveMessage()); Assert.IsTrue(waitEvent.WaitOne(TimeSpan.FromSeconds(10))); this._sender.Send(new Message("message2")); secondReceiver.ReceiveMessage(); waitEvent.Set(); Assert.AreEqual("message1", receiver1Message); Assert.AreEqual("message2", receiver2Message); }
public given_sender_and_receiver() { this.connectionFactory = System.Data.Entity.Database.DefaultConnectionFactory; this.sender = new MessageSender(this.connectionFactory, "TestSqlMessaging", "Test.Commands"); this.receiver = new TestableMessageReceiver(this.connectionFactory); MessagingDbInitializer.CreateDatabaseObjects(this.connectionFactory.CreateConnection("TestSqlMessaging").ConnectionString, "Test", true); }
public given_sender_and_receiver() { //this.connectionFactory = System.Data.Entity.Database.DefaultConnectionFactory; this.sender = new MessageSender("TestSqlMessaging", "Test.Commands"); this.receiver = new TestableMessageReceiver(); MessagingDbInitializer.CreateDatabaseObjects(this.connectionFactory.CreateConnection("TestSqlMessaging").ConnectionString, "Test", true); }
public given_sender_and_receiver() { // TODO: DEPRECATED - The default connection factory should be set in the config file or using the DbConfiguration class this.connectionFactory = System.Data.Entity.Database.DefaultConnectionFactory; this.sender = new MessageSender(this.connectionFactory, "TestSqlMessaging", "Test.Commands"); this.receiver = new TestableMessageReceiver(this.connectionFactory); MessagingDbInitializer.CreateDatabaseObjects(this.connectionFactory.CreateConnection("TestSqlMessaging").ConnectionString, "Test", true); }
public void Setup() { this._connectionFactory = System.Data.Entity.Database.DefaultConnectionFactory; this._sender = new MessageSender(this._connectionFactory, "TestSqlMessaging", "Test.Commands"); this._receiver = new TestableMessageReceiver(this._connectionFactory); MessagingDbInitializer.CreateDatabaseObjects( this._connectionFactory.CreateConnection("TestSqlMessaging").ConnectionString, "Test", true); }