Commit 5661f8fc authored by Christian Dupuis's avatar Christian Dupuis

Test key/value sanitization

parent 078933c8
...@@ -16,15 +16,17 @@ ...@@ -16,15 +16,17 @@
package org.springframework.boot.actuate.endpoint; package org.springframework.boot.actuate.endpoint;
import java.util.Map;
import org.junit.Test; import org.junit.Test;
import org.springframework.boot.actuate.properties.ManagementServerProperties; import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.autoconfigure.security.SecurityProperties;
import org.springframework.boot.autoconfigure.web.ServerProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import static org.hamcrest.Matchers.greaterThan; import static org.hamcrest.Matchers.greaterThan;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertThat; import static org.junit.Assert.assertThat;
public class ConfigurationPropertiesReportEndpointTests extends public class ConfigurationPropertiesReportEndpointTests extends
...@@ -36,10 +38,36 @@ public class ConfigurationPropertiesReportEndpointTests extends ...@@ -36,10 +38,36 @@ public class ConfigurationPropertiesReportEndpointTests extends
} }
@Test @Test
public void invoke() throws Exception { public void testInvoke() throws Exception {
assertThat(getEndpointBean().invoke().size(), greaterThan(0)); assertThat(getEndpointBean().invoke().size(), greaterThan(0));
} }
@Test
@SuppressWarnings("unchecked")
public void testDefaultKeySanitization() throws Exception {
ConfigurationPropertiesReportEndpoint report = getEndpointBean();
// report.setKeysToSanitize(new String[] {});
Map<String, Object> properties = report.invoke();
Map<String, Object> nestedProperties = (Map<String, Object>) properties
.get("testProperties");
assertNotNull(nestedProperties);
assertEquals("******", nestedProperties.get("dbPassword"));
assertEquals("654321", nestedProperties.get("myTestProperty"));
}
@Test
@SuppressWarnings("unchecked")
public void testKeySanitization() throws Exception {
ConfigurationPropertiesReportEndpoint report = getEndpointBean();
report.setKeysToSanitize(new String[] { "property" });
Map<String, Object> properties = report.invoke();
Map<String, Object> nestedProperties = (Map<String, Object>) properties
.get("testProperties");
assertNotNull(nestedProperties);
assertEquals("123456", nestedProperties.get("dbPassword"));
assertEquals("******", nestedProperties.get("myTestProperty"));
}
@Configuration @Configuration
@EnableConfigurationProperties @EnableConfigurationProperties
public static class Config { public static class Config {
...@@ -50,18 +78,33 @@ public class ConfigurationPropertiesReportEndpointTests extends ...@@ -50,18 +78,33 @@ public class ConfigurationPropertiesReportEndpointTests extends
} }
@Bean @Bean
public ServerProperties serverProperties() { public TestProperties testProperties() {
return new ServerProperties(); return new TestProperties();
} }
@Bean @ConfigurationProperties(name = "test")
public ManagementServerProperties managementServerProperties() { public static class TestProperties {
return new ManagementServerProperties();
} private String dbPassword = "123456";
private String myTestProperty = "654321";
public String getDbPassword() {
return this.dbPassword;
}
public void setDbPassword(String dbPassword) {
this.dbPassword = dbPassword;
}
public String getMyTestProperty() {
return this.myTestProperty;
}
public void setMyTestProperty(String myTestProperty) {
this.myTestProperty = myTestProperty;
}
@Bean
public SecurityProperties securityProperties() {
return new SecurityProperties();
} }
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment