public void Constructor_BindsValues()
        {
            var appsettings = @"
{
   'rabbit': {
        'client': {
            'server': 'localhost',
            'port': 1234,
            'password': '******',
            'username': '******'
        }
   }
}";

            var    path      = TestHelpers.CreateTempFile(appsettings);
            string directory = Path.GetDirectoryName(path);
            string fileName  = Path.GetFileName(path);

            ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();

            configurationBuilder.SetBasePath(directory);
            configurationBuilder.AddJsonFile(fileName);
            var config = configurationBuilder.Build();

            var sconfig = new RabbitProviderConnectorOptions(config);

            Assert.Equal("localhost", sconfig.Server);
            Assert.Equal(1234, sconfig.Port);
            Assert.Equal("password", sconfig.Password);
            Assert.Equal("username", sconfig.Username);
            Assert.Equal(null, sconfig.Uri);
        }
        public void Constructor_ThrowsIfConfigNull()
        {
            // Arrange
            RabbitProviderConnectorOptions config = null;
            RabbitServiceInfo si = null;

            // Act and Assert
            var ex = Assert.Throws <ArgumentNullException>(() => new RabbitProviderConnectorFactory(si, config));

            Assert.Contains(nameof(config), ex.Message);
        }
        public void Create_ReturnsRabbitConnection()
        {
            RabbitProviderConnectorOptions config = new RabbitProviderConnectorOptions()
            {
                Server      = "localhost",
                Port        = 5672,
                Password    = "******",
                Username    = "******",
                VirtualHost = "vhost"
            };
            RabbitServiceInfo si = new RabbitServiceInfo("MyId", "amqp://*****:*****@example.com:5672/si_vhost");
            var factory          = new RabbitProviderConnectorFactory(si, config);
            var connection       = factory.Create(null);

            Assert.NotNull(connection);
        }
Ejemplo n.º 4
0
        public void Configure_NoServiceInfo_ReturnsProvidedConnectorOptions()
        {
            RabbitProviderConnectorOptions config = new RabbitProviderConnectorOptions()
            {
                Server      = "localhost",
                Port        = 1234,
                Username    = "******",
                Password    = "******",
                VirtualHost = "vhost"
            };

            RabbitProviderConfigurer configurer = new RabbitProviderConfigurer();
            var opts = configurer.Configure(null, config);
            var uri  = new UriInfo(opts);

            Assert.Equal(uri.Host, "localhost");
            Assert.Equal(uri.Port, 1234);
            Assert.Equal(uri.UserName, "username");
            Assert.Equal(uri.Password, "password");
            Assert.Equal(uri.Path, "vhost");
        }
Ejemplo n.º 5
0
        public void UpdateConfiguration_WithRabbitServiceInfo_UpdatesConfigurationFromServiceInfo()
        {
            RabbitProviderConfigurer       configurer = new RabbitProviderConfigurer();
            RabbitProviderConnectorOptions config     = new RabbitProviderConnectorOptions()
            {
                Server      = "localhost",
                Port        = 1234,
                Username    = "******",
                Password    = "******",
                VirtualHost = "vhost"
            };
            RabbitServiceInfo si = new RabbitServiceInfo("MyId", "amqp://*****:*****@example.com:5672/si_vhost");

            configurer.UpdateConfiguration(si, config);

            Assert.Equal("example.com", config.Server);
            Assert.Equal(5672, config.Port);
            Assert.Equal("si_username", config.Username);
            Assert.Equal("si_password", config.Password);
            Assert.Equal("si_vhost", config.VirtualHost);
        }
Ejemplo n.º 6
0
        public void UpdateConfiguration_WithNullRabbitServiceInfo_ReturnsInitialConfiguration()
        {
            RabbitProviderConfigurer       configurer = new RabbitProviderConfigurer();
            RabbitProviderConnectorOptions config     = new RabbitProviderConnectorOptions()
            {
                Server      = "localhost",
                Port        = 1234,
                Username    = "******",
                Password    = "******",
                VirtualHost = "vhost"
            };

            configurer.UpdateConfiguration(null, config);

            Assert.Equal("localhost", config.Server);
            Assert.Equal(1234, config.Port);
            Assert.Equal("username", config.Username);
            Assert.Equal("password", config.Password);
            Assert.Equal("vhost", config.VirtualHost);
            Assert.Equal(null, config.Uri);
        }
Ejemplo n.º 7
0
        public void Configure_ServiceInfoOveridesConfig_ReturnsOverriddenConnectionString()
        {
            RabbitProviderConnectorOptions config = new RabbitProviderConnectorOptions()
            {
                Server      = "localhost",
                Port        = 1234,
                Username    = "******",
                Password    = "******",
                VirtualHost = "vhost"
            };

            RabbitProviderConfigurer configurer = new RabbitProviderConfigurer();
            RabbitServiceInfo        si         = new RabbitServiceInfo("MyId", "amqp://*****:*****@example.com:5672/si_vhost");

            var opts = configurer.Configure(si, config);
            var uri  = new UriInfo(opts);

            Assert.Equal(uri.Host, "example.com");
            Assert.Equal(uri.Port, 5672);
            Assert.Equal(uri.UserName, "si_username");
            Assert.Equal(uri.Password, "si_password");
            Assert.Equal(uri.Path, "si_vhost");
        }