public void a_limited_user_CAN_send_and_receive_messages_on_existing_routes()
        {
            // Admin connection to make the routing
            _messaging.CreateDestination <IMetadataFile>("test_permissions", Expires.Never);

            // Limited user to use it
            var credentials = _query.GetLimitedUser("test_permissions");

            // connect using the limited user
            var config = new MessagingBaseConfiguration()
                         .WithDefaults()
                         .WithConnection(ConfigurationHelpers.RabbitMqConnectionWithConfigSettingsAndCustomCredentials(
                                             credentials.UserName,
                                             credentials.Password
                                             ));

            var limitedConn = config.GetMessagingBase();

            // Do a round-trip on the limited account with the admin's routing
            limitedConn.SendMessage(new SuperMetadata {
                Contents = "Hello"
            });
            var result = limitedConn.GetMessage <IMetadataFile>("test_permissions");

            // Check it worked
            Assert.That(result, Is.Not.Null, "Message did not get through");
            Assert.That(result.Contents, Is.EqualTo("Hello"), "Got the wrong message");

            _query.DeleteUser(credentials);
        }
        public void a_limited_user_can_NOT_add_routing()
        {
            var credentials = _query.GetLimitedUser("test_permissions");

            var config = new MessagingBaseConfiguration()
                         .WithDefaults()
                         .WithConnection(ConfigurationHelpers.RabbitMqConnectionWithConfigSettingsAndCustomCredentials(
                                             credentials.UserName,
                                             credentials.Password
                                             ));

            var limitedConn = config.GetMessagingBase();

            bool ok = false;

            try {
                // Should not be able to do this:
                limitedConn.CreateDestination <IMetadataFile>("test_permissions", Expires.Never);
            } catch (Exception ex) {
                Console.WriteLine(ex);
                ok = ex.Message.Contains("ACCESS_REFUSED");
            }

            _query.DeleteUser(credentials);
            Assert.That(ok, Is.True, "Create destination passed, but should have been blocked");
        }
Beispiel #3
0
        public void setup()
        {
            var config = new MessagingBaseConfiguration()
                         .WithDefaults()
                         .WithConnection(ConfigurationHelpers.RabbitMqConnectionWithConfigSettings());

            _conn = config.Get <IChannelAction>();
        }
        public void setup()
        {
            _config = new MessagingBaseConfiguration()
                      .WithDefaults()
                      //.UsesSecureConnections() // If you don't have HTTPS set up, comment out this line
                      .WithConnection(ConfigurationHelpers.RabbitMqConnectionWithConfigSettings());

            _messaging = _config.GetMessagingBase();

            _query = ConfigurationHelpers.RabbitMqQueryWithConfigSettings();
        }
Beispiel #5
0
        public void can_repeatedly_configure_and_shutdown_messaging()
        {
            for (int i = 0; i < 20; i++)
            {
                var config = new MessagingBaseConfiguration()
                             .WithDefaults()
                             .WithConnection(ConfigurationHelpers.RabbitMqConnectionWithConfigSettings());

                config.Shutdown();
            }
        }
Beispiel #6
0
        public void setup()
        {
            _config = new MessagingBaseConfiguration()
                      .WithDefaults()
                      .UsesSecureConnections()
                      .WithConnection(ConfigurationHelpers.RabbitMqConnectionWithConfigSettings());

            _messaging = _config.GetMessagingBase();

            _query = ConfigurationHelpers.RabbitMqQueryWithConfigSettings();
        }
        public void setup()
        {
            _config = new MessagingBaseConfiguration()
                      .WithDefaults()
                      .SetDefaultAcknowledgeTimeout(TimeSpan.FromSeconds(1))
                      .WithConnection(ConfigurationHelpers.RabbitMqConnectionWithConfigSettings());


            var msg = _config.GetMessagingBase();

            msg.CreateDestination <IMetadataFile>("ReleaseTestQueue", Expires.Never);
            msg.SendMessage(new SuperMetadata());
        }
        public void ssl_defaul_strictness_settings_are_set_to_strict()
        {
            _config = new MessagingBaseConfiguration()
                      .WithDefaults()
                      .UsesSecureConnections() // default
                      .WithConnection(ConfigurationHelpers.RabbitMqConnectionWithConfigSettings())
                      .WithRabbitManagement("localhost", 0, "", "", "/", "");

            var firstInstance  = (RabbitMqQuery)_config.GetManagement();
            var secondInstance = (RabbitMqQuery)_config.GetManagement();

            Assert.That(firstInstance?.AcceptInvalidSsl, Is.False, "First instance was relaxed, but expected strict");
            Assert.That(secondInstance?.AcceptInvalidSsl, Is.False, "First instance was relaxed, but expected strict");
        }
        public void ssl_relaxed_strictness_settings_are_persistent()
        {
            _config = new MessagingBaseConfiguration()
                      .WithDefaults()
                      .UsesSecureConnections(SslConnectionStrictness.Relaxed)
                      .WithConnection(ConfigurationHelpers.RabbitMqConnectionWithConfigSettings())
                      .WithRabbitManagement("localhost", 0, "", "", "/", "");


            var firstInstance  = (RabbitMqQuery)(_config.GetManagement());
            var secondInstance = (RabbitMqQuery)(_config.GetManagement());

            Assert.That(firstInstance?.AcceptInvalidSsl, Is.True, "First instance was strict, but expected relaxed");
            Assert.That(secondInstance?.AcceptInvalidSsl, Is.True, "First instance was strict, but expected relaxed");
        }
Beispiel #10
0
        public void A_configured_messaging_base()
        {
            var config = new MessagingBaseConfiguration()
                         .WithDefaults()
                         .WithContractRoot <IMsg>()
                         .WithConnection(ConfigurationHelpers.RabbitMqConnectionWithConfigSettings())
                         .WithApplicationGroupName("app-group-name");

            messaging = config.GetMessagingBase();
            query     = ConfigurationHelpers.RabbitMqQueryWithConfigSettings();

            testMessage = new SuperMetadata
            {
                CorrelationId = Guid.NewGuid(),
                Contents      = "This is my message",
                FilePath      = @"C:\temp\",
                HashValue     = 893476,
                MetadataName  = "KeyValuePair"
            };
        }
 public void A_configured_messaging_base()
 {
     _config = new MessagingBaseConfiguration().WithDefaults().WithConnection(Substitute.For <IRabbitMqConnection>());
 }