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