コード例 #1
0
        public void Constructors__InitializesProperties()
        {
            ConfigServerClientSettings settings = new ConfigServerClientSettings();
            var memSource = new MemoryConfigurationSource();
            IList <IConfigurationSource> sources = new List <IConfigurationSource>()
            {
                memSource
            };
            ILoggerFactory factory = new LoggerFactory();

            var source = new ConfigServerConfigurationSource(settings, sources, new Dictionary <string, object>()
            {
                { "foo", "bar" }
            }, factory);

            Assert.Equal(settings, source.DefaultSettings);
            Assert.Equal(factory, source.LogFactory);
            Assert.Null(source.Configuration);
            Assert.NotSame(sources, source._sources);
            Assert.Single(source._sources);
            Assert.Equal(memSource, source._sources[0]);
            Assert.Single(source._properties);
            Assert.Equal("bar", source._properties["foo"]);

            var config = new ConfigurationBuilder().AddInMemoryCollection().Build();

            source = new ConfigServerConfigurationSource(settings, config, factory);
            Assert.Equal(settings, source.DefaultSettings);
            Assert.Equal(factory, source.LogFactory);
            Assert.NotNull(source.Configuration);
            var root = source.Configuration as IConfigurationRoot;

            Assert.NotNull(root);
            Assert.Same(config, root);
        }
コード例 #2
0
        public void DiscoverServerInstances_FailsFast()
        {
            var values = new Dictionary <string, string>()
            {
                { "spring:cloud:config:discovery:enabled", "True" },
                { "spring:cloud:config:failFast", "True" },
                { "eureka:client:eurekaServer:retryCount", "0" }
            };

            IConfiguration configuration = new ConfigurationBuilder()
                                           .AddInMemoryCollection(values)
                                           .Build();

            var settings = new ConfigServerClientSettings
            {
                Uri         = "http://localhost:8888/",
                Name        = "foo",
                Environment = "development",
                Timeout     = 10
            };
            var source   = new ConfigServerConfigurationSource(settings, configuration);
            var provider = new ConfigServerConfigurationProvider(source);
            var service  = new ConfigServerDiscoveryService(configuration, settings);

            Assert.Throws <ConfigServerException>(() => provider.DiscoverServerInstances(service));
        }
コード例 #3
0
        public void SourceConstructor_WithDefaults_ThrowsIfHttpClientNull()
        {
            // Arrange
            IConfiguration configuration           = new ConfigurationBuilder().Build();
            ConfigServerConfigurationSource source = new ConfigServerConfigurationSource(configuration);

            // Act
            Assert.Throws <ArgumentNullException>(() => new ConfigServerConfigurationProvider(source, null));
        }
コード例 #4
0
        public void AddConfigServer_AddsConfigServerSourceToList()
        {
            // Arrange
            var configurationBuilder = new ConfigurationBuilder();
            var settings             = new ConfigServerClientSettings();

            // Act and Assert
            configurationBuilder.AddConfigServer(settings);

            ConfigServerConfigurationSource configServerSource =
                configurationBuilder.Sources.OfType <ConfigServerConfigurationSource>().SingleOrDefault();

            Assert.NotNull(configServerSource);
        }
コード例 #5
0
        public void Build__ReturnsProvider()
        {
            var settings  = new ConfigServerClientSettings();
            var memSource = new MemoryConfigurationSource();
            IList <IConfigurationSource> sources = new List <IConfigurationSource>()
            {
                memSource
            };
            ILoggerFactory factory = new LoggerFactory();

            var source   = new ConfigServerConfigurationSource(settings, sources, null);
            var provider = source.Build(new ConfigurationBuilder());

            Assert.IsType <ConfigServerConfigurationProvider>(provider);
        }
コード例 #6
0
        public void AddConfigServer_WithLoggerFactorySucceeds()
        {
            // Arrange
            var configurationBuilder = new ConfigurationBuilder();
            var loggerFactory        = new LoggerFactory();
            var settings             = new ConfigServerClientSettings();

            // Act and Assert
            configurationBuilder.AddConfigServer(settings, loggerFactory);

            ConfigServerConfigurationSource configServerSource =
                configurationBuilder.Sources.OfType <ConfigServerConfigurationSource>().SingleOrDefault();

            Assert.NotNull(configServerSource);
            Assert.NotNull(configServerSource.LogFactory);
        }
コード例 #7
0
        public void IsDiscoveryFirstEnabled_ReturnsExpected()
        {
            ConfigServerClientSettings settings = new ConfigServerClientSettings
            {
                Uri              = "http://localhost:8888/",
                Name             = "foo",
                Environment      = "development",
                DiscoveryEnabled = true
            };

            ConfigServerConfigurationProvider provider = new ConfigServerConfigurationProvider(settings);

            Assert.True(provider.IsDiscoveryFirstEnabled());

            var values = new Dictionary <string, string>()
            {
                { "spring:cloud:config:discovery:enabled", "True" }
            };

            IConfiguration configuration = new ConfigurationBuilder()
                                           .AddInMemoryCollection(values)
                                           .Build();

            settings = new ConfigServerClientSettings
            {
                Uri         = "http://localhost:8888/",
                Name        = "foo",
                Environment = "development"
            };
            ConfigServerConfigurationSource source = new ConfigServerConfigurationSource(settings, configuration);

            provider = new ConfigServerConfigurationProvider(source);

            // Act and Assert
            Assert.True(provider.IsDiscoveryFirstEnabled());
        }
        public void AddConfigServer_WithEnvAndName()
        {
            ConfigurationBuilder builder = new ConfigurationBuilder();

            builder.AddConfigServer("foo", "bar");

            ConfigServerConfigurationSource provider = null;

            foreach (IConfigurationSource source in builder.Sources)
            {
                provider = source as ConfigServerConfigurationSource;
                if (provider != null)
                {
                    break;
                }
            }

            Assert.NotNull(provider);
            var settings = provider.DefaultSettings;

            Assert.NotNull(settings);
            Assert.Equal("foo", settings.Environment);
            Assert.Equal("bar", settings.Name);
        }