public void DefaultConstructor_InitializedWithDefaults() { // Arrange ConfigServerClientSettings settings = new ConfigServerClientSettings(); // Act and Assert ConfigServerTestHelpers.VerifyDefaults(settings); }
public void AddConfigServer_ThrowsIfSettingsNull() { IConfigurationBuilder configurationBuilder = new ConfigurationBuilder(); ConfigServerClientSettings defaultSettings = null; var ex = Assert.Throws <ArgumentNullException>(() => ConfigServerConfigurationBuilderExtensions.AddConfigServer(configurationBuilder, defaultSettings)); Assert.Contains(nameof(defaultSettings), ex.Message); }
public void AddConfigServer_HandlesPlaceHolders() { // Arrange var appsettings = @" { ""foo"": { ""bar"": { ""name"": ""testName"" }, }, ""spring"": { ""application"": { ""name"": ""myName"" }, ""cloud"": { ""config"": { ""uri"": ""https://*****:*****@foo.com:9999"", ""enabled"": false, ""failFast"": false, ""name"": ""${foo:bar:name?foobar}"", ""label"": ""myLabel"", ""username"": ""myUsername"", ""password"": ""myPassword"" } } } }"; var path = TestHelpers.CreateTempFile(appsettings); string directory = Path.GetDirectoryName(path); string fileName = Path.GetFileName(path); ConfigurationBuilder configurationBuilder = new ConfigurationBuilder(); configurationBuilder.SetBasePath(directory); var environment = HostingHelpers.GetHostingEnvironment("Production"); configurationBuilder.AddJsonFile(fileName); // Act and Assert configurationBuilder.AddConfigServer(environment); IConfigurationRoot config = configurationBuilder.Build(); ConfigServerConfigurationProvider configServerProvider = config.Providers.OfType <ConfigServerConfigurationProvider>().SingleOrDefault(); Assert.NotNull(configServerProvider); ConfigServerClientSettings settings = configServerProvider.Settings; Assert.False(settings.Enabled); Assert.False(settings.FailFast); Assert.Equal("https://*****:*****@foo.com:9999", settings.Uri); Assert.Equal(ConfigServerClientSettings.DEFAULT_ENVIRONMENT, settings.Environment); Assert.Equal("testName", settings.Name); Assert.Equal("myLabel", settings.Label); Assert.Equal("myUsername", settings.Username); Assert.Equal("myPassword", settings.Password); }
public void GetPassword_MultipleUrisWithUserPass_ReturnsNull() { var settings = new ConfigServerClientSettings() { Uri = "https://*****:*****@localhost:8888/, https://user1:pass1@localhost:9999/" }; Assert.Null(settings.Password); }
public void AddConfigServer_HandlesPlaceHolders() { // Arrange var appsettings = @" { 'foo': { 'bar': { 'name': 'testName' }, }, 'spring': { 'application': { 'name': 'myName' }, 'cloud': { 'config': { 'uri': 'https://*****:*****@foo.com:9999', 'enabled': false, 'failFast': false, 'name': '${foo:bar:name?foobar}', 'label': 'myLabel', 'username': '******', 'password': '******' } } } }"; var path = TestHelpers.CreateTempFile(appsettings); string directory = Path.GetDirectoryName(path); string fileName = Path.GetFileName(path); ConfigurationBuilder configurationBuilder = new ConfigurationBuilder(); configurationBuilder.SetBasePath(directory); var environment = new HostingEnvironment(); configurationBuilder.AddJsonFile(fileName); // Act and Assert configurationBuilder.AddConfigServer(environment); IConfigurationRoot config = configurationBuilder.Build(); ConfigServerConfigurationProvider configServerProvider = config.Providers.OfType <ConfigServerConfigurationProvider>().SingleOrDefault(); Assert.NotNull(configServerProvider); ConfigServerClientSettings settings = configServerProvider.Settings; Assert.False(settings.Enabled); Assert.False(settings.FailFast); Assert.Equal("https://*****:*****@foo.com:9999", settings.Uri); Assert.Equal(ConfigServerClientSettings.DEFAULT_ENVIRONMENT, settings.Environment); Assert.Equal("testName", settings.Name); Assert.Equal("myLabel", settings.Label); Assert.Equal("myUsername", settings.Username); Assert.Equal("myPassword", settings.Password); }
public void GetUserName_GoodWithUserPassOnUri() { var settings = new ConfigServerClientSettings() { Uri = "https://*****:*****@localhost:8888/" }; Assert.Equal("user", settings.Username); }
public void GetPassword_GoodWithUserPassOnUri() { var settings = new ConfigServerClientSettings() { Uri = "https://*****:*****@localhost:8888/" }; Assert.Equal("pass", settings.Password); }
public void GetRawUris_Bad() { var settings = new ConfigServerClientSettings() { Uri = "blahblah" }; Assert.Empty(settings.RawUris); }
public void GetRawUris_GoodWithUserPass() { var settings = new ConfigServerClientSettings() { Uri = "https://*****:*****@localhost:8888/" }; Assert.Equal("https://localhost:8888/", settings.RawUris[0]); }
public void Initialize_WithDefaultSettings() { var prefix = "spring:cloud:config"; var settings = new ConfigServerClientSettings(); IConfiguration config = new ConfigurationRoot(new List <IConfigurationProvider>()); ConfigurationSettingsHelper.Initialize(prefix, settings, config); TestHelper.VerifyDefaults(settings); }
public void AddConfigServer_XmlAppSettingsConfiguresClient() { // Arrange var appsettings = @" <settings> <spring> <cloud> <config> <uri>http://foo.com:9999</uri> <enabled>false</enabled> <failFast>false</failFast> <label>myLabel</label> <name>myName</name> <username>myUsername</username> <password>myPassword</password> </config> </cloud> </spring> </settings>"; var path = TestHelpers.CreateTempFile(appsettings); string directory = Path.GetDirectoryName(path); string fileName = Path.GetFileName(path); ConfigurationBuilder configurationBuilder = new ConfigurationBuilder(); configurationBuilder.SetBasePath(directory); var csettings = new ConfigServerClientSettings(); configurationBuilder.AddXmlFile(fileName); // Act and Assert configurationBuilder.AddConfigServer(csettings); IConfigurationRoot root = configurationBuilder.Build(); ConfigServerConfigurationProvider configServerProvider = null; foreach (IConfigurationSource source in configurationBuilder.Sources) { configServerProvider = source as ConfigServerConfigurationProvider; if (configServerProvider != null) { break; } } Assert.NotNull(configServerProvider); ConfigServerClientSettings settings = configServerProvider.Settings; Assert.False(settings.Enabled); Assert.False(settings.FailFast); Assert.Equal("http://foo.com:9999", settings.Uri); Assert.Equal(ConfigServerClientSettings.DEFAULT_ENVIRONMENT, settings.Environment); Assert.Equal("myName", settings.Name); Assert.Equal("myLabel", settings.Label); Assert.Equal("myUsername", settings.Username); Assert.Equal("myPassword", settings.Password); }
public void GetUserName_MultipleUrisWithUserPass_ReturnsUserNameSetting() { var settings = new ConfigServerClientSettings() { Uri = "https://*****:*****@localhost:8888/, https://user1:pass1@localhost:9999/", Username = "******" }; Assert.Equal("user", settings.Username); }
public void GetPassword_GoodWithUserPassOnUri_SettingsOverrides() { var settings = new ConfigServerClientSettings() { Uri = "https://*****:*****@localhost:8888/", Password = "******" }; Assert.Equal("explicitOverrides", settings.Password); Assert.Equal("user", settings.Username); }
public void ThrowsOnNulls() { var config = new ConfigurationBuilder().Build(); var settings = new ConfigServerClientSettings(); var ex = Assert.Throws <ArgumentNullException>(() => new ConfigServerDiscoveryService(null, settings)); var ex2 = Assert.Throws <ArgumentNullException>(() => new ConfigServerDiscoveryService(config, null)); Assert.Equal("configuration", ex.ParamName); Assert.Equal("settings", ex2.ParamName); }
public void GetLabels_Null() { ConfigServerClientSettings settings = new ConfigServerClientSettings(); ConfigServerConfigurationProvider provider = new ConfigServerConfigurationProvider(settings); string[] result = provider.GetLabels(); Assert.NotNull(result); Assert.Single(result); Assert.Equal(string.Empty, result[0]); }
public void SettingsConstructor__ThrowsIfSettingsNull() { // Arrange ConfigServerClientSettings settings = null; // Act and Assert var ex = Assert.Throws <ArgumentNullException>(() => new ConfigServerConfigurationProvider(settings)); Assert.Contains(nameof(settings), ex.Message); }
public void Constructors__ThrowsIfNulls() { ConfigServerClientSettings settings = null; var ex = Assert.Throws <ArgumentNullException>(() => new ConfigServerConfigurationSource((IConfiguration)null)); ex = Assert.Throws <ArgumentNullException>(() => new ConfigServerConfigurationSource(settings, (IConfiguration)null, null)); ex = Assert.Throws <ArgumentNullException>(() => new ConfigServerConfigurationSource((IList <IConfigurationSource>)null, null)); ex = Assert.Throws <ArgumentNullException>(() => new ConfigServerConfigurationSource(settings, new List <IConfigurationSource>(), null)); }
public void GetConfigServerUri_NoLabel() { // Arrange ConfigServerClientSettings settings = new ConfigServerClientSettings() { Name = "myName", Environment = "Production" }; ConfigServerConfigurationProvider provider = new ConfigServerConfigurationProvider(settings); // Act and Assert string path = provider.GetConfigServerUri(); Assert.Equal(settings.Uri + "/" + settings.Name + "/" + settings.Environment, path); }
public void SettingsConstructor__WithLoggerFactorySucceeds() { // Arrange LoggerFactory logFactory = new LoggerFactory(); ConfigServerClientSettings settings = new ConfigServerClientSettings(); // Act and Assert var provider = new ConfigServerConfigurationProvider(settings, logFactory); Assert.NotNull(provider.Logger); }
public void SettingsConstructor__ThrowsIfHttpClientNull() { // Arrange ConfigServerClientSettings settings = new ConfigServerClientSettings(); HttpClient httpClient = null; // Act and Assert var ex = Assert.Throws<ArgumentNullException>(() => new ConfigServerConfigurationProvider(settings, httpClient)); Assert.Contains(nameof(httpClient), ex.Message); }
public void AddConfigServer_IniAppSettingsConfiguresClient() { // Arrange var appsettings = @" [spring:cloud:config] uri=http://foo.com:9999 enabled=false failFast=false label=myLabel name=myName username=myUsername password=myPassword "; var path = TestHelpers.CreateTempFile(appsettings); string directory = Path.GetDirectoryName(path); string fileName = Path.GetFileName(path); ConfigurationBuilder configurationBuilder = new ConfigurationBuilder(); configurationBuilder.SetBasePath(directory); var environment = new HostingEnvironment(); configurationBuilder.AddIniFile(fileName); // Act and Assert configurationBuilder.AddConfigServer(environment); IConfigurationRoot root = configurationBuilder.Build(); ConfigServerConfigurationProvider configServerProvider = null; foreach (IConfigurationSource source in configurationBuilder.Sources) { configServerProvider = source as ConfigServerConfigurationProvider; if (configServerProvider != null) { break; } } Assert.NotNull(configServerProvider); ConfigServerClientSettings settings = configServerProvider.Settings; // Act and Assert Assert.False(settings.Enabled); Assert.False(settings.FailFast); Assert.Equal("http://foo.com:9999", settings.Uri); Assert.Equal(ConfigServerClientSettings.DEFAULT_ENVIRONMENT, settings.Environment); Assert.Equal("myName", settings.Name); Assert.Equal("myLabel", settings.Label); Assert.Equal("myUsername", settings.Username); Assert.Equal("myPassword", settings.Password); Assert.Null(settings.AccessTokenUri); Assert.Null(settings.ClientId); Assert.Null(settings.ClientSecret); }
public void AddConfigServer_AddsConfigServerSourceToList() { var configurationBuilder = new ConfigurationBuilder(); var settings = new ConfigServerClientSettings(); configurationBuilder.AddConfigServer(settings); var configServerSource = configurationBuilder.Sources.OfType <ConfigServerConfigurationSource>().SingleOrDefault(); Assert.NotNull(configServerSource); }
public async Task RemoteLoadAsync_ConfigServerReturnsGood() { // Arrange var environment = @" { ""name"": ""testname"", ""profiles"": [""Production""], ""label"": ""testlabel"", ""version"": ""testversion"", ""propertySources"": [ { ""name"": ""source"", ""source"": { ""key1"": ""value1"", ""key2"": 10 } } ] }"; var envir = HostingHelpers.GetHostingEnvironment(); TestConfigServerStartup.Reset(); TestConfigServerStartup.Response = environment; var builder = new WebHostBuilder().UseStartup <TestConfigServerStartup>().UseEnvironment(envir.EnvironmentName); var server = new TestServer(builder); var settings = new ConfigServerClientSettings { Uri = "http://localhost:8888", Name = "myName" }; server.BaseAddress = new Uri(settings.Uri); var provider = new ConfigServerConfigurationProvider(settings, server.CreateClient()); // Act and Assert var env = await provider.RemoteLoadAsync(settings.GetUris(), null); Assert.NotNull(TestConfigServerStartup.LastRequest); Assert.Equal("/" + settings.Name + "/" + settings.Environment, TestConfigServerStartup.LastRequest.Path.Value); Assert.NotNull(env); Assert.Equal("testname", env.Name); Assert.NotNull(env.Profiles); Assert.Single(env.Profiles); Assert.Equal("testlabel", env.Label); Assert.Equal("testversion", env.Version); Assert.NotNull(env.PropertySources); Assert.Single(env.PropertySources); Assert.Equal("source", env.PropertySources[0].Name); Assert.NotNull(env.PropertySources[0].Source); Assert.Equal(2, env.PropertySources[0].Source.Count); Assert.Equal("value1", env.PropertySources[0].Source["key1"].ToString()); Assert.Equal(10L, long.Parse(env.PropertySources[0].Source["key2"].ToString())); }
public void SettingsConstructor__ThrowsIfEnvironmentNull() { // Arrange var settings = new ConfigServerClientSettings(); HttpClient httpClient = null; // Act and Assert var ex = Assert.Throws <ArgumentNullException>(() => new ConfigServerConfigurationProvider(settings, httpClient, null)); Assert.Contains(nameof(httpClient), ex.Message); }
public void GetPassword_MultipleUrisWithUserPass_SettingsOverrides() { var settings = new ConfigServerClientSettings() { Uri = "https://*****:*****@localhost:8888/, https://user1:pass1@localhost:9999/", Password = "******" }; Assert.Equal("explicitOverrides", settings.Password); Assert.Null(settings.Username); }
public void GetLabels_Null() { IHostingEnvironment envir = new HostingEnvironment(); ConfigServerClientSettings settings = new ConfigServerClientSettings(); ConfigServerConfigurationProvider provider = new ConfigServerConfigurationProvider(settings, envir); string[] result = provider.GetLabels(); Assert.NotNull(result); Assert.Equal(1, result.Length); Assert.Equal("", result[0]); }
#pragma warning disable SA1202 // Elements should be ordered by access public void GetLabels_Null() #pragma warning restore SA1202 // Elements should be ordered by access { ConfigServerClientSettings settings = new ConfigServerClientSettings(); ConfigServerConfigurationProvider provider = new ConfigServerConfigurationProvider(settings); string[] result = provider.GetLabels(); Assert.NotNull(result); Assert.Single(result); Assert.Equal(string.Empty, result[0]); }
public void GetUserName_MultipleUrisWithUserPass_ReturnsNull() { // Arrange ConfigServerClientSettings settings = new ConfigServerClientSettings() { Uri = "https://*****:*****@localhost:8888/, https://user1:pass1@localhost:9999/" }; // Act and Assert Assert.Null(settings.Username); }
public void SettingsConstructor__WithLoggerFactorySucceeds() { // Arrange LoggerFactory logFactory = new LoggerFactory(); ConfigServerClientSettings settings = new ConfigServerClientSettings(); // Act and Assert var provider = new ConfigServerConfigurationProvider(settings, logFactory); Assert.NotNull(provider.Logger); }
public void GetRawUris_Bad() { // Arrange ConfigServerClientSettings settings = new ConfigServerClientSettings() { Uri = "blahblah" }; // Act and Assert Assert.Empty(settings.RawUris); }
public void GetRawUri_Bad() { // Arrange ConfigServerClientSettings settings = new ConfigServerClientSettings() { Uri = "blahblah" }; // Act and Assert Assert.Equal("blahblah", settings.RawUri); }
public async void RemoteLoadAsync_ConfigServerReturnsGood() { // Arrange var environment = @" { 'name': 'testname', 'profiles': ['Production'], 'label': 'testlabel', 'version': 'testversion', 'propertySources': [ { 'name': 'source', 'source': { 'key1': 'value1', 'key2': 10 } } ] }"; IHostingEnvironment envir = new HostingEnvironment(); TestConfigServerStartup.Reset(); TestConfigServerStartup.Response = environment; var builder = new WebHostBuilder().UseStartup <TestConfigServerStartup>().UseEnvironment(envir.EnvironmentName); var server = new TestServer(builder); ConfigServerClientSettings settings = new ConfigServerClientSettings { Uri = "http://localhost:8888", Name = "myName" }; server.BaseAddress = new Uri(settings.Uri); ConfigServerConfigurationProvider provider = new ConfigServerConfigurationProvider(settings, server.CreateClient()); // Act and Assert ConfigEnvironment env = await provider.RemoteLoadAsync(settings.GetUris(), null); Assert.NotNull(TestConfigServerStartup.LastRequest); Assert.Equal("/" + settings.Name + "/" + settings.Environment, TestConfigServerStartup.LastRequest.Path.Value); Assert.NotNull(env); Assert.Equal("testname", env.Name); Assert.NotNull(env.Profiles); Assert.Single(env.Profiles); Assert.Equal("testlabel", env.Label); Assert.Equal("testversion", env.Version); Assert.NotNull(env.PropertySources); Assert.Single(env.PropertySources); Assert.Equal("source", env.PropertySources[0].Name); Assert.NotNull(env.PropertySources[0].Source); Assert.Equal(2, env.PropertySources[0].Source.Count); Assert.Equal("value1", env.PropertySources[0].Source["key1"]); Assert.Equal((long)10, env.PropertySources[0].Source["key2"]); }
public void GetRawUri_GoodWithUserPass() { // Arrange ConfigServerClientSettings settings = new ConfigServerClientSettings() { Uri = "https://*****:*****@localhost:8888/" }; // Act and Assert Assert.Equal("https://localhost:8888/", settings.RawUri); }
public void GetUserName_GoodWithUserPassOnUri_SettingsOverrides() { // Arrange ConfigServerClientSettings settings = new ConfigServerClientSettings() { Uri = "https://*****:*****@localhost:8888/", Username = "******" }; // Act and Assert Assert.Equal("explicitOverrides", settings.Username); Assert.Equal("pass", settings.Password); }
public static void VerifyDefaults(ConfigServerClientSettings settings) { Assert.Equal(ConfigServerClientSettings.DEFAULT_PROVIDER_ENABLED, settings.Enabled); Assert.Equal(ConfigServerClientSettings.DEFAULT_FAILFAST, settings.FailFast); Assert.Equal(ConfigServerClientSettings.DEFAULT_URI, settings.Uri); Assert.Equal(ConfigServerClientSettings.DEFAULT_ENVIRONMENT, settings.Environment); Assert.Equal(ConfigServerClientSettings.DEFAULT_CERTIFICATE_VALIDATION, settings.ValidateCertificates); Assert.Null(settings.Name); Assert.Null(settings.Label); Assert.Null(settings.Username); Assert.Null(settings.Password); }
public void Load_ChangesDataDictionary() { // Arrange var environment = @" { 'name': 'testname', 'profiles': ['Production'], 'label': 'testlabel', 'version': 'testversion', 'propertySources': [ { 'name': 'source', 'source': { 'key1': 'value1', 'key2': 10 } } ] }"; var startup = new TestConfigServerStartup(environment, 200); var server = TestServer.Create(startup.Configure); ConfigServerClientSettings settings = new ConfigServerClientSettings(); settings.Name = "myName"; server.BaseAddress = new Uri(settings.Uri); ConfigServerConfigurationProvider provider = new ConfigServerConfigurationProvider(settings, server.CreateClient()); // Act and Assert provider.Load(); Assert.NotNull(startup.LastRequest); Assert.Equal("/" + settings.Name + "/" + settings.Environment, startup.LastRequest.Path.Value); string value; Assert.True(provider.TryGet("key1", out value)); Assert.Equal("value1", value); Assert.True(provider.TryGet("key2", out value)); Assert.Equal("10", value); }
public void Load_ConfigServerReturnsNotFoundStatus() { // Arrange var startup = new TestConfigServerStartup("", 404); var server = TestServer.Create(startup.Configure); ConfigServerClientSettings settings = new ConfigServerClientSettings(); settings.Name = "myName"; server.BaseAddress = new Uri(settings.Uri); ConfigServerConfigurationProvider provider = new ConfigServerConfigurationProvider(settings, server.CreateClient()); // Act and Assert provider.Load(); Assert.NotNull(startup.LastRequest); Assert.Equal("/" + settings.Name + "/" + settings.Environment, startup.LastRequest.Path.Value); Assert.Equal(12, provider.Properties.Count); }
public async void RemoteLoadAsync_ConfigServerReturnsGood() { // Arrange var environment = @" { 'name': 'testname', 'profiles': ['Production'], 'label': 'testlabel', 'version': 'testversion', 'propertySources': [ { 'name': 'source', 'source': { 'key1': 'value1', 'key2': 10 } } ] }"; var startup = new TestConfigServerStartup(environment, 200); var server = TestServer.Create(startup.Configure); ConfigServerClientSettings settings = new ConfigServerClientSettings(); settings.Name = "myName"; server.BaseAddress = new Uri(settings.Uri); ConfigServerConfigurationProvider provider = new ConfigServerConfigurationProvider(settings, server.CreateClient()); string path = provider.GetConfigServerUri(); // Act and Assert Environment env = await provider.RemoteLoadAsync(path); Assert.NotNull(startup.LastRequest); Assert.Equal("/" + settings.Name + "/" + settings.Environment, startup.LastRequest.Path.Value); Assert.NotNull(env); Assert.Equal("testname", env.Name); Assert.NotNull(env.Profiles); Assert.Equal(1, env.Profiles.Count); Assert.Equal("testlabel", env.Label); Assert.Equal("testversion", env.Version); Assert.NotNull(env.PropertySources); Assert.Equal(1, env.PropertySources.Count); Assert.Equal("source", env.PropertySources[0].Name); Assert.NotNull(env.PropertySources[0].Source); Assert.Equal(2, env.PropertySources[0].Source.Count); Assert.Equal("value1", env.PropertySources[0].Source["key1"]); Assert.Equal((long)10, env.PropertySources[0].Source["key2"]); }
public void AddConfigServerClientSettings_ChangesDataDictionary() { // Arrange ConfigServerClientSettings settings = new ConfigServerClientSettings(); settings.AccessTokenUri = "http://foo.bar/"; settings.ClientId = "client_id"; settings.ClientSecret = "client_secret"; settings.Enabled = true; settings.Environment = "environment"; settings.FailFast = false; settings.Label = "label"; settings.Name = "name"; settings.Password = "******"; settings.Uri = "http://foo.bar/"; settings.Username = "******"; settings.ValidateCertificates = false; ConfigServerConfigurationProvider provider = new ConfigServerConfigurationProvider(); // Act and Assert provider.AddConfigServerClientSettings(settings); string value; Assert.True(provider.TryGet("spring:cloud:config:access_token_uri", out value)); Assert.Equal("http://foo.bar/", value); Assert.True(provider.TryGet("spring:cloud:config:client_id", out value)); Assert.Equal("client_id", value); Assert.True(provider.TryGet("spring:cloud:config:client_secret", out value)); Assert.Equal("client_secret", value); Assert.True(provider.TryGet("spring:cloud:config:env", out value)); Assert.Equal("environment", value); Assert.True(provider.TryGet("spring:cloud:config:label", out value)); Assert.Equal("label", value); Assert.True(provider.TryGet("spring:cloud:config:name", out value)); Assert.Equal("name", value); Assert.True(provider.TryGet("spring:cloud:config:password", out value)); Assert.Equal("password", value); Assert.True(provider.TryGet("spring:cloud:config:uri", out value)); Assert.Equal("http://foo.bar/", value); Assert.True(provider.TryGet("spring:cloud:config:username", out value)); Assert.Equal("username", value); Assert.True(provider.TryGet("spring:cloud:config:enabled", out value)); Assert.Equal("True", value); Assert.True(provider.TryGet("spring:cloud:config:failFast", out value)); Assert.Equal("False", value); Assert.True(provider.TryGet("spring:cloud:config:validate_certificates", out value)); Assert.Equal("False", value); }
public async void RemoteLoadAsync_ConfigServerReturnsNotOkStatus() { // Arrange var startup = new TestConfigServerStartup("",500); var server = TestServer.Create(startup.Configure); ConfigServerClientSettings settings = new ConfigServerClientSettings(); settings.Name = "myName"; server.BaseAddress = new Uri(settings.Uri); ConfigServerConfigurationProvider provider = new ConfigServerConfigurationProvider(settings, server.CreateClient()); string path = provider.GetConfigServerUri(); // Act and Assert Environment result = await provider.RemoteLoadAsync(path); Assert.NotNull(startup.LastRequest); Assert.Equal("/" + settings.Name + "/" + settings.Environment, startup.LastRequest.Path.Value); Assert.Null(result); }