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)); }