public void CanSetConfig() { const string key = "key1"; const string keyValue = "value1"; var registry = new FakeConfigurationRegistry(); var sut = new ConfigurationRegistryProvider(registry); sut.Set(key, keyValue); sut.TryGet(key, out var value); Assert.Equal(keyValue, value); }
public void CanReloadConfig() { var reloaded = false; var registry = new FakeConfigurationRegistry(); var sut = new ConfigurationRegistryProvider(registry); sut.Load(); sut.GetReloadToken().RegisterChangeCallback(_ => reloaded = true, null); registry.FakeReload(); Assert.True(reloaded); }
public void CanBindConfiguratonSection() { var registry = new FakeConfigurationRegistry(); registry.SetKeyAsync("FakeConfig:Setting1", "abc"); registry.SetKeyAsync("FakeConfig:Setting2", "def"); var builder = new ConfigurationBuilder() .AddConfigurationRegistry(registry) .Build(); var config = new FakeConfig(); builder.GetSection("FakeConfig").Bind(config); Assert.Equal("abc", config.Setting1); Assert.Equal("def", config.Setting2); }
public async void CanReloadOptionDetails() { var registry = new FakeConfigurationRegistry(); await registry.SetKeyAsync("FakeConfig:Setting1", "abc"); await registry.SetKeyAsync("FakeConfig:Setting2", "def"); var root = new ConfigurationBuilder() .AddConfigurationRegistry(registry) .Build(); var builder = new WebHostBuilder() .Configure(x => x.UseMvcWithDefaultRoute()) .ConfigureServices(x => { x.AddMvcCore(); x.AddOptions(); x.ConfigureReloadable <FakeConfig>(root, registry); }); using (var server = new TestServer(builder)) { using (var client = server.CreateClient()) { var response = await client.GetAsync("Fake"); var setting = await response.Content.ReadAsStringAsync(); Assert.Equal("Config: abc", setting); await registry.SetKeyAsync("FakeConfig:Setting1", "this is the new setting"); registry.FakeReload(); response = await client.GetAsync("Fake"); setting = await response.Content.ReadAsStringAsync(); Assert.Equal("Config: this is the new setting", setting); } } }
public void CanBindConfiguratonSectionAsList() { var registry = new FakeConfigurationRegistry(); registry.SetKeyAsync("my/config/section/objectlist:0:Setting1", "1"); registry.SetKeyAsync("my/config/section/objectlist:0:Setting2", "2"); registry.SetKeyAsync("my/config/section/objectlist:1:Setting1", "3"); registry.SetKeyAsync("my/config/section/objectlist:1:Setting2", "4"); var builder = new ConfigurationBuilder() .AddConfigurationRegistry(registry) .Build(); var config = new List <FakeConfig>(); builder.GetSection("my/config/section/objectlist").Bind(config); Assert.Equal(2, config.Count); Assert.Equal("1", config[0].Setting1); Assert.Equal("2", config[0].Setting2); Assert.Equal("3", config[1].Setting1); Assert.Equal("4", config[1].Setting2); }