public void AddDistributedRedisCache_ThrowsIfConfigurationNull() { // Arrange IServiceCollection services = new ServiceCollection(); IConfigurationRoot config = null; var connectionConfig = new ConfigurationBuilder().Build(); // Act and Assert var ex = Assert.Throws <ArgumentNullException>(() => RedisCacheServiceCollectionExtensions.AddDistributedRedisCache(services, config)); Assert.Contains(nameof(config), ex.Message); var ex2 = Assert.Throws <ArgumentNullException>(() => RedisCacheServiceCollectionExtensions.AddDistributedRedisCache(services, config, "foobar")); Assert.Contains(nameof(config), ex2.Message); var ex3 = Assert.Throws <ArgumentNullException>(() => RedisCacheServiceCollectionExtensions.AddDistributedRedisCache(services, config, connectionConfig, "foobar")); Assert.Contains("applicationConfiguration", ex3.Message); }
public void AddDistributedRedisCache_AddsRedisHealthContributor_WhenCommunityHealthCheckExistsAndForced() { // Arrange IServiceCollection services = new ServiceCollection(); var builder = new ConfigurationBuilder(); builder.AddCloudFoundry(); var config = builder.Build(); var cm = new ConnectionStringManager(config); var ci = cm.Get <RedisConnectionInfo>(); services.AddHealthChecks().AddRedis(ci.ConnectionString, name: ci.Name); // Act RedisCacheServiceCollectionExtensions.AddDistributedRedisCache(services, config, addSteeltoeHealthChecks: true); var healthContributor = services.BuildServiceProvider().GetService <IHealthContributor>() as RedisHealthContributor; // Assert Assert.NotNull(healthContributor); }
public void AddDistributedRedisCache_MultipleRedisServices_ThrowsConnectorException() { // Arrange IServiceCollection services = new ServiceCollection(); Environment.SetEnvironmentVariable("VCAP_APPLICATION", TestHelpers.VCAP_APPLICATION); Environment.SetEnvironmentVariable("VCAP_SERVICES", RedisCacheTestHelpers.TwoServerVCAP); ConfigurationBuilder builder = new ConfigurationBuilder(); builder.AddCloudFoundry(); var config = builder.Build(); // Act and Assert var ex = Assert.Throws <ConnectorException>(() => RedisCacheServiceCollectionExtensions.AddDistributedRedisCache(services, config)); Assert.Contains("Multiple", ex.Message); var ex2 = Assert.Throws <ConnectorException>(() => RedisCacheServiceCollectionExtensions.AddDistributedRedisCache(services, config, config, null)); Assert.Contains("Multiple", ex2.Message); }
public void AddDistributedRedisCache_MultipleRedisServices_ThrowsConnectorException() { // Arrange var env1 = @" { 'limits': { 'fds': 16384, 'mem': 1024, 'disk': 1024 }, 'application_name': 'spring-cloud-broker', 'application_uris': [ 'spring-cloud-broker.apps.testcloud.com' ], 'name': 'spring-cloud-broker', 'space_name': 'p-spring-cloud-services', 'space_id': '65b73473-94cc-4640-b462-7ad52838b4ae', 'uris': [ 'spring-cloud-broker.apps.testcloud.com' ], 'users': null, 'version': '07e112f7-2f71-4f5a-8a34-db51dbed30a3', 'application_version': '07e112f7-2f71-4f5a-8a34-db51dbed30a3', 'application_id': '798c2495-fe75-49b1-88da-b81197f2bf06' } }"; var env2 = @" { 'p-redis': [ { 'credentials': { 'host': '192.168.0.103', 'password': '******', 'port': 60287 }, 'syslog_drain_url': null, 'label': 'p-redis', 'provider': null, 'plan': 'shared-vm', 'name': 'myRedisService1', 'tags': [ 'pivotal', 'redis' ] }, { 'credentials': { 'host': '192.168.0.103', 'password': '******', 'port': 60287 }, 'syslog_drain_url': null, 'label': 'p-redis', 'provider': null, 'plan': 'shared-vm', 'name': 'myRedisService2', 'tags': [ 'pivotal', 'redis' ] } ] } "; // Arrange IServiceCollection services = new ServiceCollection(); Environment.SetEnvironmentVariable("VCAP_APPLICATION", env1); Environment.SetEnvironmentVariable("VCAP_SERVICES", env2); ConfigurationBuilder builder = new ConfigurationBuilder(); builder.AddCloudFoundry(); var config = builder.Build(); // Act and Assert var ex = Assert.Throws <ConnectorException>(() => RedisCacheServiceCollectionExtensions.AddDistributedRedisCache(services, config)); Assert.Contains("Multiple", ex.Message); }