コード例 #1
0
        public void CreateRedisServiceConnectorFactory_ThrowsIfConnectorOptionsNull()
        {
            // Arrange
            var config = new ConfigurationBuilder().Build();
            RedisCacheConnectorOptions connectorOptions = null;

            // Act and Assert
            var ex = Assert.Throws <ArgumentNullException>(() => RedisCacheConfigurationExtensions.CreateRedisServiceConnectorFactory(config, connectorOptions, "foobar"));

            Assert.Contains(nameof(connectorOptions), ex.Message);
        }
コード例 #2
0
        public void CreateRedisServiceConnectorFactory_WithServiceName_NoVCAPs_ThrowsConnectorException()
        {
            // Arrange
            IServiceCollection services = new ServiceCollection();
            IConfigurationRoot config = new ConfigurationBuilder().Build();
            RedisCacheConnectorOptions connectorOptions = new RedisCacheConnectorOptions();

            // Act and Assert
            var ex = Assert.Throws<ConnectorException>(() => RedisCacheConfigurationExtensions.CreateRedisServiceConnectorFactory(config, "foobar"));
            Assert.Contains("foobar", ex.Message);

            var ex2 = Assert.Throws<ConnectorException>(() => RedisCacheConfigurationExtensions.CreateRedisServiceConnectorFactory(config, config, "foobar"));
            Assert.Contains("foobar", ex2.Message);

            var ex3 = Assert.Throws<ConnectorException>(() => RedisCacheConfigurationExtensions.CreateRedisServiceConnectorFactory(config, connectorOptions, "foobar"));
            Assert.Contains("foobar", ex3.Message);
        }
コード例 #3
0
        public void CreateRedisServiceConnectorFactory_ThrowsIfConfigurationNull()
        {
            IConfigurationRoot config  = null;
            var connectorConfiguration = new ConfigurationBuilder().Build();
            var connectorOptions       = new RedisCacheConnectorOptions();

            var ex = Assert.Throws <ArgumentNullException>(() => RedisCacheConfigurationExtensions.CreateRedisServiceConnectorFactory(config, "foobar"));

            Assert.Contains(nameof(config), ex.Message);

            var ex2 = Assert.Throws <ArgumentNullException>(() => RedisCacheConfigurationExtensions.CreateRedisServiceConnectorFactory(config, connectorConfiguration, "foobar"));

            Assert.Contains(nameof(config), ex2.Message);

            var ex3 = Assert.Throws <ArgumentNullException>(() => RedisCacheConfigurationExtensions.CreateRedisServiceConnectorFactory(config, connectorOptions, "foobar"));

            Assert.Contains(nameof(config), ex3.Message);
        }
コード例 #4
0
        public void CreateRedisServiceConnectorFactory_NoVCAPs_CreatesFactory()
        {
            var appsettings = new Dictionary <string, string>()
            {
                ["redis:client:host"]               = "127.0.0.1",
                ["redis:client:port"]               = "1234",
                ["redis:client:password"]           = "******",
                ["redis:client:abortOnConnectFail"] = "false"
            };

            var configurationBuilder = new ConfigurationBuilder();

            configurationBuilder.AddInMemoryCollection(appsettings);
            var config           = configurationBuilder.Build();
            var connectorOptions = new RedisCacheConnectorOptions(config);

            Assert.NotNull(RedisCacheConfigurationExtensions.CreateRedisServiceConnectorFactory(config));
            Assert.NotNull(RedisCacheConfigurationExtensions.CreateRedisServiceConnectorFactory(new ConfigurationBuilder().Build(), config));
            Assert.NotNull(RedisCacheConfigurationExtensions.CreateRedisServiceConnectorFactory(new ConfigurationBuilder().Build(), connectorOptions));
        }
コード例 #5
0
        public void CreateRedisServiceConnectorFactory_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();
            RedisCacheConnectorOptions connectorOptions = new RedisCacheConnectorOptions();

            // Act and Assert
            var ex = Assert.Throws<ConnectorException>(() => RedisCacheConfigurationExtensions.CreateRedisServiceConnectorFactory(config));
            Assert.Contains("Multiple", ex.Message);

            var ex2 = Assert.Throws<ConnectorException>(() => RedisCacheConfigurationExtensions.CreateRedisServiceConnectorFactory(config, config));
            Assert.Contains("Multiple", ex2.Message);

            var ex3 = Assert.Throws<ConnectorException>(() => RedisCacheConfigurationExtensions.CreateRedisServiceConnectorFactory(config, connectorOptions));
            Assert.Contains("Multiple", ex3.Message);
        }