public void a_limited_user_can_NOT_delete_an_existing_destination() { // Admin connection to make the routing _messaging.CreateDestination <IMetadataFile>("test_permissions", Expires.Never); // Limited user to use it var credentials = _query.GetLimitedUser("test_permissions"); var limitedConn = ConfigurationHelpers.RabbitMqConnectionWithConfigSettingsAndCustomCredentials( credentials.UserName, credentials.Password ); bool ok = false; try { limitedConn.WithChannel(conn => conn.QueueDelete("test_permissions", false, false)); } catch (Exception ex) { Console.WriteLine(ex); ok = ex.Message.Contains("ACCESS_REFUSED"); } _query.DeleteUser(credentials); Assert.That(ok, Is.True, "QueueDelete passed, but should have been blocked"); }
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 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 can_inspect_all_exchanges_queues_and_bindings_of_a_running_system() { _messaging.CreateDestination <IMetadataFile>("Test_Destination_1", Expires.Never); _messaging.CreateDestination <IMetadataFile>("Test_Destination_2", Expires.Never); var bindings = _query.ListBindings(); Assert.That(bindings.Length, Is.GreaterThanOrEqualTo(6), "Too few bindings"); var destinations = _query.ListDestinations(); Assert.That(destinations.Length, Is.GreaterThanOrEqualTo(2), "Too few bindings"); var sources = _query.ListSources(); Assert.That(sources.Length, Is.GreaterThanOrEqualTo(4), "Too few exchanges"); }
public void When_setting_up_a_named_destination() { typeRouter = Substitute.For <ITypeRouter>(); messageRouter = Substitute.For <IMessageRouter>(); serialiser = Substitute.For <IMessageSerialiser>(); messaging = new MessagingBase(typeRouter, messageRouter, serialiser, "test"); messaging.ResetCaches(); messaging.CreateDestination <IMetadataFile>("MyServiceDestination", Expires.Never); }
public void When_setting_up_a_named_destination() { typeRouter = Substitute.For<ITypeRouter>(); messageRouter = Substitute.For<IMessageRouter>(); serialiser = Substitute.For<IMessageSerialiser>(); messaging = new MessagingBase(typeRouter, messageRouter, serialiser); messaging.ResetCaches(); messaging.CreateDestination<IMetadataFile>("MyServiceDestination"); }
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(); }