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