Beispiel #1
0
        public static IConfigurationProvider LoadConfigProvider(this FakeObservableConsul consul, ConsulConfigurationSource configSource, ConsulState consulState = null)
        {
            var configProvider = (ConsulConfigurationProvider)configSource.Build(consul);

            Task.WhenAll(configProvider.LoadAsync(), Task.Run(() =>
            {
                consul.Dependencies.OnNext(consulState);
            })).GetAwaiter().GetResult();

            return(configProvider);
        }
Beispiel #2
0
        public async Task SettingsSuccessfullyRetrievedFromConsulAreCachedInLocalCache()
        {
            var consul = new FakeObservableConsul();

            var configProvider = (ConsulConfigurationProvider)_configSource.Build(consul);

            consul.CurrentState = consul.CurrentState.UpdateKVNodes(new[]
            {
                new KeyValueNode("apps/myapp/folder1/item1", "value1"),
                new KeyValueNode("apps/myapp/folder1/item2", "value2"),
                new KeyValueNode("apps/myapp/folder2/item1", "value3")
            });

            await configProvider.LoadAsync();

            _cache.CachedSettings.Should().NotBeNull();
            _cache.CachedSettings.Should().NotBeEmpty();
            _cache.CachedSettings.Should().Contain("consul:folder1:item1", "value1");
            _cache.CachedSettings.Should().Contain("consul:folder1:item2", "value2");
            _cache.CachedSettings.Should().Contain("consul:folder2:item1", "value3");
        }