Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
            }
        }