public IObservable <ConsulState> ObserveDependencies(ConsulDependencies dependencies) { Dependencies = new Subject <ConsulState>(); ObservingDependencies.Add(dependencies); return(Dependencies); }
public ConsulConfigurationProvider(IObservableConsul consulClient, IEmergencyCache emergencyCache, ConsulDependencies dependencies, ServiceConfigMappingCollection serviceConfigMappings, KVTreeConfigMappingCollection kvTreeConfigMappings, KVItemConfigMappingCollection kvItemConfigMappings, bool autoUpdate) { _consulClient = consulClient; _emergencyCache = emergencyCache; _dependencies = dependencies; _serviceConfigMappings = serviceConfigMappings; _kvTreeConfigMappings = kvTreeConfigMappings; _kvItemConfigMappings = kvItemConfigMappings; _autoUpdate = autoUpdate; }
public ConsulConfigurationProvider(IObservableConsul consulClient, IEmergencyCache emergencyCache, ConsulDependencies dependencies, ServiceConfigMappingCollection serviceConfigMappings, KVTreeConfigMappingCollection kvTreeConfigMappings, KVItemConfigMappingCollection kvItemConfigMappings, TimeSpan?retryDelay = null) { _consulClient = consulClient; _emergencyCache = emergencyCache; _dependencies = dependencies; _serviceConfigMappings = serviceConfigMappings; _kvTreeConfigMappings = kvTreeConfigMappings; _kvItemConfigMappings = kvItemConfigMappings; _retryDelay = retryDelay; }
public ConsulDependencies AnalyzeDependencies(PropertyBag properties, ITemplateRenderer renderer) { AnalysisMode = true; try { Dependencies = new ConsulDependencies(); Model = new ConsulState(); Properties = properties ?? new PropertyBag(); Renderer = renderer; ExecuteAsync().GetAwaiter().GetResult(); return(Dependencies); } finally { AnalysisMode = false; } }
public async Task GetDependenciesReturnsEntireStateOfAllDependencies() { var dependencies = new ConsulDependencies { KeyPrefixes = { "apps/myapp" }, Keys = { "shared/key1", "shared/missingkey" }, Services = { "MyService", "MyService2", "MissingService" } }; var consulState = await _observableConsul.GetDependenciesAsync(dependencies); consulState.Services.Should().HaveCount(2); consulState.Services.Should().Contain(s => s.Name == "MyService"); consulState.Services.Should().Contain(s => s.Name == "MyService2"); consulState.KVStore.ContainsKey("shared/key1").Should().BeTrue(); consulState.KVStore.ContainsKey("shared/missingkey").Should().BeFalse(); var childKeys = consulState.KVStore.GetTree("apps/myapp"); childKeys.Should().HaveCount(3); }
public Task <ConsulState> GetDependenciesAsync(ConsulDependencies dependencies) { return(Task.FromResult(CurrentState)); }