public void Sanitized_NonDefault_WhenSet() { var appsettings = new Dictionary <string, string>() { ["management:endpoints:env:keystosanitize:0"] = "credentials", ["password"] = "******" }; ConfigurationBuilder configurationBuilder = new ConfigurationBuilder(); configurationBuilder.AddInMemoryCollection(appsettings); var config = configurationBuilder.Build(); var opts = new EnvEndpointOptions(config); var ep = new EnvEndpoint(opts, config, new TestHosting()); var result = ep.DoInvoke(config); Assert.NotNull(result); var desc = result.PropertySources[0]; Assert.Equal("MemoryConfigurationProvider", desc.Name); var props = desc.Properties; Assert.NotNull(props); Assert.Contains("password", props.Keys); Assert.NotNull(props["password"]); Assert.Equal("mysecret", props["password"].Value); }
public void DoInvoke_ReturnsExpected() { var opts = new EnvOptions(); var appsettings = new Dictionary <string, string>() { ["management:endpoints:enabled"] = "false", ["management:endpoints:sensitive"] = "false", ["management:endpoints:path"] = "/cloudfoundryapplication", ["management:endpoints:loggers:enabled"] = "false", ["management:endpoints:loggers:sensitive"] = "true", ["management:endpoints:heapdump:enabled"] = "true", ["management:endpoints:heapdump:sensitive"] = "true", ["management:endpoints:cloudfoundry:validatecertificates"] = "true", ["management:endpoints:cloudfoundry:enabled"] = "true" }; ConfigurationBuilder configurationBuilder = new ConfigurationBuilder(); configurationBuilder.AddInMemoryCollection(appsettings); var config = configurationBuilder.Build(); var ep = new EnvEndpoint(opts, config, new TestHosting()); var result = ep.DoInvoke(config); Assert.NotNull(result); Assert.Single(result.ActiveProfiles); Assert.Equal("EnvironmentName", result.ActiveProfiles[0]); Assert.Single(result.PropertySources); var desc = result.PropertySources[0]; Assert.Equal("MemoryConfigurationProvider", desc.Name); var props = desc.Properties; Assert.NotNull(props); Assert.Equal(9, props.Count); Assert.Contains("management:endpoints:loggers:enabled", props.Keys); var prop = props["management:endpoints:loggers:enabled"]; Assert.NotNull(prop); Assert.Equal("false", prop.Value); Assert.Null(prop.Origin); }
public void Sanitized_ReturnsExpected() { var opts = new EnvEndpointOptions(); var appsettings = new Dictionary <string, string>() { ["password"] = "******", ["secret"] = "mysecret", ["key"] = "mysecret", ["token"] = "mysecret", ["my_credentials"] = "mysecret", ["credentials_of"] = "mysecret", ["my_credentialsof"] = "mysecret", ["vcap_services"] = "mysecret" }; ConfigurationBuilder configurationBuilder = new ConfigurationBuilder(); configurationBuilder.AddInMemoryCollection(appsettings); var config = configurationBuilder.Build(); var ep = new EnvEndpoint(opts, config, new TestHosting()); var result = ep.DoInvoke(config); Assert.NotNull(result); var desc = result.PropertySources[0]; Assert.Equal("MemoryConfigurationProvider", desc.Name); var props = desc.Properties; Assert.NotNull(props); foreach (var key in appsettings.Keys) { Assert.Contains(key, props.Keys); Assert.NotNull(props[key]); Assert.Equal("******", props[key].Value); Assert.Null(props[key].Origin); } }