示例#1
0
        public void WHEN_sending_string_message_THEN_saves_message()
        {
            var messageWasSaved = false;
            var messageBody     = "Message-" + Guid.NewGuid().ToString();
            var message         = new MessageForDelivery(messageBody);

            this.sender.Send(message);


            using (var connection = this.connectionFactory.CreateConnection("TestSqlMessaging"))
            {
                connection.Open();
                var command = connection.CreateCommand();
                command.CommandText = string.Format(CultureInfo.InvariantCulture, @"
SELECT [Body]
  FROM [Test].[Commands]
  WHERE BODY = N'{0}'
", messageBody);

                using (var reader = command.ExecuteReader())
                {
                    messageWasSaved = reader.Read();
                }
            }

            Assert.True(messageWasSaved);
        }
        public void WHEN_sending_message_with_correlation_id_THEN_receives_message()
        {
            MessageForDelivery message = null;

            this.receiver.MessageReceived += (s, e) => { message = e.Message; };

            this.sender.Send(new MessageForDelivery("test message", correlationId: "correlation"));

            Assert.True(this.receiver.ReceiveMessage());
            Assert.Equal("test message", message.Body);
            Assert.Equal("correlation", message.CorrelationId);
            Assert.Null(message.DeliveryDate);
        }
        public void WHEN_sending_message_with_delay_THEN_receives_message_after_delay()
        {
            MessageForDelivery message = null;

            this.receiver.MessageReceived += (s, e) => { message = e.Message; };

            var deliveryDate = DateTime.Now.Add(TimeSpan.FromSeconds(2));

            this.sender.Send(new MessageForDelivery("test message", null, deliveryDate));

            Assert.False(this.receiver.ReceiveMessage());

            Thread.Sleep(TimeSpan.FromSeconds(6));

            Assert.True(this.receiver.ReceiveMessage());
            Assert.Equal("test message", message.Body);
        }
示例#4
0
 public void Send(MessageForDelivery message)
 {
     throw new NotImplementedException();
 }