Exemple #1
0
        public void a_queue_with_no_time_restriction_can_receive_messages_after_any_delay()
        {
            messaging.CreateDestination <IMsg>("Test_Destination_unbound", Expires.Never);
            messaging.SendMessage(testMessage);

            Thread.Sleep(1000); // 'huge' delay

            var message = messaging.TryStartMessage <IMsg>("Test_Destination_unbound");

            Assert.That(message, Is.Not.Null);
            message.Finish();
        }
        public void sending_a_message_without_giving_a_correlation_id_sets_a_new_guid()
        {
            messaging.CreateDestination <IMsg>("Test_Destination", Expires.Never);
            messaging.SendMessage(testMessage);
            messaging.SendMessage(testMessage);

            var message1 = messaging.TryStartMessage <IMsg>("Test_Destination");

            Assert.That(message1, Is.Not.Null, "did not get message 1");
            Assert.That(message1.Properties.CorrelationId, Is.Not.Null, "message 1 had an empty correlation id");

            var message2 = messaging.TryStartMessage <IMsg>("Test_Destination");

            Assert.That(message2, Is.Not.Null, "did not get message 2");
            Assert.That(message2.Properties.CorrelationId, Is.Not.Null, "message 2 had an empty correlation id");


            Assert.That(message2.Properties.CorrelationId, Is.Not.EqualTo(message1.Properties.CorrelationId),
                        "messages had the same correlation ID");

            message1.Finish();
            message2.Finish();
        }
        public void When_setting_up_a_named_destination()
        {
            metadataMessage = new SuperMetadata();

            badMessage    = new { Who = "What" };
            messageRouter = Substitute.For <IMessageRouter>();
            typeRouter    = Substitute.For <ITypeRouter>();
            serialiser    = Substitute.For <IMessageSerialiser>();
            serialiser.Serialise(metadataMessage, out _).Returns(m => { m[1] = "dummy"; return(serialisedObject); });

            messaging = new MessagingBase(typeRouter, messageRouter, serialiser, "test");
            messaging.ResetCaches();
            messaging.SendMessage(metadataMessage);
        }
        public void When_setting_up_a_named_destination()
        {
            metadataMessage = new SuperMetadata();

            badMessage = new {Who="What"};
            typeRouter = Substitute.For<ITypeRouter>();
            messageRouter = Substitute.For<IMessageRouter>();
            serialiser = Substitute.For<IMessageSerialiser>();
            serialiser.Serialise(metadataMessage).Returns(serialisedObject);

            messaging = new MessagingBase(typeRouter, messageRouter, serialiser);
            messaging.ResetCaches();
            messaging.SendMessage(metadataMessage);
        }
        public void Should_be_able_to_send_and_receive_messages_by_interface_type_and_destination_name()
        {
            messaging.CreateDestination <IMsg>("Test_Destination", Expires.Never);
            messaging.SendMessage(testMessage);

            var finalObject = (IMetadataFile)messaging.GetMessage <IMsg>("Test_Destination");

            Assert.That(finalObject, Is.Not.Null);
            Assert.That(finalObject.CorrelationId, Is.EqualTo(testMessage.CorrelationId));
            Assert.That(finalObject.Contents, Is.EqualTo(testMessage.Contents));
            Assert.That(finalObject.FilePath, Is.EqualTo(testMessage.FilePath));
            Assert.That(finalObject.HashValue, Is.EqualTo(testMessage.HashValue));
            Assert.That(finalObject.MetadataName, Is.EqualTo(testMessage.MetadataName));
            Assert.That(finalObject.Equals(testMessage), Is.False);
        }
 public void Should_setup_type_message_type_if_not_already_in_place()
 {
     messaging.SendMessage(metadataMessage);
     typeRouter.Received().BuildRoutes(typeof(IMetadataFile));
 }