|
|
|
|
@@ -38,6 +38,7 @@ import org.springframework.boot.configurationprocessor.metadata.Metadata;
|
|
|
|
|
import org.springframework.boot.configurationprocessor.metadata.TestJsonConverter;
|
|
|
|
|
import org.springframework.boot.configurationsample.endpoint.CustomPropertiesEndpoint;
|
|
|
|
|
import org.springframework.boot.configurationsample.endpoint.DisabledEndpoint;
|
|
|
|
|
import org.springframework.boot.configurationsample.endpoint.EnabledEndpoint;
|
|
|
|
|
import org.springframework.boot.configurationsample.endpoint.OnlyJmxEndpoint;
|
|
|
|
|
import org.springframework.boot.configurationsample.endpoint.OnlyWebEndpoint;
|
|
|
|
|
import org.springframework.boot.configurationsample.endpoint.SimpleEndpoint;
|
|
|
|
|
@@ -538,9 +539,9 @@ public class ConfigurationMetadataAnnotationProcessorTests {
|
|
|
|
|
ConfigurationMetadata metadata = compile(SimpleEndpoint.class);
|
|
|
|
|
assertThat(metadata).has(
|
|
|
|
|
Metadata.withGroup("endpoints.simple").fromSource(SimpleEndpoint.class));
|
|
|
|
|
assertThat(metadata).has(enabledFlag("simple", true));
|
|
|
|
|
assertThat(metadata).has(jmxEnabledFlag("simple", true));
|
|
|
|
|
assertThat(metadata).has(webEnabledFlag("simple", false));
|
|
|
|
|
assertThat(metadata).has(enabledFlag("simple", null));
|
|
|
|
|
assertThat(metadata).has(jmxEnabledFlag("simple", null));
|
|
|
|
|
assertThat(metadata).has(webEnabledFlag("simple", null));
|
|
|
|
|
assertThat(metadata).has(cacheTtl("simple"));
|
|
|
|
|
assertThat(metadata.getItems()).hasSize(5);
|
|
|
|
|
}
|
|
|
|
|
@@ -557,6 +558,18 @@ public class ConfigurationMetadataAnnotationProcessorTests {
|
|
|
|
|
assertThat(metadata.getItems()).hasSize(5);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void enabledEndpoint() throws IOException {
|
|
|
|
|
ConfigurationMetadata metadata = compile(EnabledEndpoint.class);
|
|
|
|
|
assertThat(metadata).has(Metadata.withGroup("endpoints.enabled")
|
|
|
|
|
.fromSource(EnabledEndpoint.class));
|
|
|
|
|
assertThat(metadata).has(enabledFlag("enabled", true));
|
|
|
|
|
assertThat(metadata).has(jmxEnabledFlag("enabled", true));
|
|
|
|
|
assertThat(metadata).has(webEnabledFlag("enabled", true));
|
|
|
|
|
assertThat(metadata).has(cacheTtl("enabled"));
|
|
|
|
|
assertThat(metadata.getItems()).hasSize(5);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void customPropertiesEndpoint() throws IOException {
|
|
|
|
|
ConfigurationMetadata metadata = compile(CustomPropertiesEndpoint.class);
|
|
|
|
|
@@ -564,9 +577,9 @@ public class ConfigurationMetadataAnnotationProcessorTests {
|
|
|
|
|
.fromSource(CustomPropertiesEndpoint.class));
|
|
|
|
|
assertThat(metadata).has(Metadata.withProperty("endpoints.customprops.name")
|
|
|
|
|
.ofType(String.class).withDefaultValue("test"));
|
|
|
|
|
assertThat(metadata).has(enabledFlag("customprops", true));
|
|
|
|
|
assertThat(metadata).has(jmxEnabledFlag("customprops", true));
|
|
|
|
|
assertThat(metadata).has(webEnabledFlag("customprops", false));
|
|
|
|
|
assertThat(metadata).has(enabledFlag("customprops", null));
|
|
|
|
|
assertThat(metadata).has(jmxEnabledFlag("customprops", null));
|
|
|
|
|
assertThat(metadata).has(webEnabledFlag("customprops", null));
|
|
|
|
|
assertThat(metadata).has(cacheTtl("customprops"));
|
|
|
|
|
assertThat(metadata.getItems()).hasSize(6);
|
|
|
|
|
}
|
|
|
|
|
@@ -576,8 +589,8 @@ public class ConfigurationMetadataAnnotationProcessorTests {
|
|
|
|
|
ConfigurationMetadata metadata = compile(OnlyJmxEndpoint.class);
|
|
|
|
|
assertThat(metadata).has(
|
|
|
|
|
Metadata.withGroup("endpoints.jmx").fromSource(OnlyJmxEndpoint.class));
|
|
|
|
|
assertThat(metadata).has(enabledFlag("jmx", true));
|
|
|
|
|
assertThat(metadata).has(jmxEnabledFlag("jmx", true));
|
|
|
|
|
assertThat(metadata).has(enabledFlag("jmx", null));
|
|
|
|
|
assertThat(metadata).has(jmxEnabledFlag("jmx", null));
|
|
|
|
|
assertThat(metadata).has(cacheTtl("jmx"));
|
|
|
|
|
assertThat(metadata.getItems()).hasSize(4);
|
|
|
|
|
}
|
|
|
|
|
@@ -587,8 +600,8 @@ public class ConfigurationMetadataAnnotationProcessorTests {
|
|
|
|
|
ConfigurationMetadata metadata = compile(OnlyWebEndpoint.class);
|
|
|
|
|
assertThat(metadata).has(
|
|
|
|
|
Metadata.withGroup("endpoints.web").fromSource(OnlyWebEndpoint.class));
|
|
|
|
|
assertThat(metadata).has(enabledFlag("web", true));
|
|
|
|
|
assertThat(metadata).has(webEnabledFlag("web", false));
|
|
|
|
|
assertThat(metadata).has(enabledFlag("web", null));
|
|
|
|
|
assertThat(metadata).has(webEnabledFlag("web", null));
|
|
|
|
|
assertThat(metadata).has(cacheTtl("web"));
|
|
|
|
|
assertThat(metadata.getItems()).hasSize(4);
|
|
|
|
|
}
|
|
|
|
|
@@ -600,13 +613,14 @@ public class ConfigurationMetadataAnnotationProcessorTests {
|
|
|
|
|
ConfigurationMetadata metadata = project.fullBuild();
|
|
|
|
|
assertThat(metadata).has(Metadata.withGroup("endpoints.incremental")
|
|
|
|
|
.fromSource(IncrementalEndpoint.class));
|
|
|
|
|
assertThat(metadata).has(enabledFlag("incremental", true));
|
|
|
|
|
assertThat(metadata).has(jmxEnabledFlag("incremental", true));
|
|
|
|
|
assertThat(metadata).has(webEnabledFlag("incremental", false));
|
|
|
|
|
assertThat(metadata).has(enabledFlag("incremental", null));
|
|
|
|
|
assertThat(metadata).has(jmxEnabledFlag("incremental", null));
|
|
|
|
|
assertThat(metadata).has(webEnabledFlag("incremental", null));
|
|
|
|
|
assertThat(metadata).has(cacheTtl("incremental"));
|
|
|
|
|
assertThat(metadata.getItems()).hasSize(5);
|
|
|
|
|
project.replaceText(IncrementalEndpoint.class, "id = \"incremental\"",
|
|
|
|
|
"id = \"incremental\", enabledByDefault = false");
|
|
|
|
|
"id = \"incremental\", defaultEnablement = org.springframework.boot."
|
|
|
|
|
+ "configurationsample.DefaultEnablement.DISABLED");
|
|
|
|
|
metadata = project.incrementalBuild(IncrementalEndpoint.class);
|
|
|
|
|
assertThat(metadata).has(Metadata.withGroup("endpoints.incremental")
|
|
|
|
|
.fromSource(IncrementalEndpoint.class));
|
|
|
|
|
@@ -624,9 +638,9 @@ public class ConfigurationMetadataAnnotationProcessorTests {
|
|
|
|
|
ConfigurationMetadata metadata = project.fullBuild();
|
|
|
|
|
assertThat(metadata).has(Metadata.withGroup("endpoints.incremental")
|
|
|
|
|
.fromSource(IncrementalEndpoint.class));
|
|
|
|
|
assertThat(metadata).has(enabledFlag("incremental", true));
|
|
|
|
|
assertThat(metadata).has(jmxEnabledFlag("incremental", true));
|
|
|
|
|
assertThat(metadata).has(webEnabledFlag("incremental", false));
|
|
|
|
|
assertThat(metadata).has(enabledFlag("incremental", null));
|
|
|
|
|
assertThat(metadata).has(jmxEnabledFlag("incremental", null));
|
|
|
|
|
assertThat(metadata).has(webEnabledFlag("incremental", null));
|
|
|
|
|
assertThat(metadata).has(cacheTtl("incremental"));
|
|
|
|
|
assertThat(metadata.getItems()).hasSize(5);
|
|
|
|
|
project.replaceText(IncrementalEndpoint.class, "id = \"incremental\"",
|
|
|
|
|
@@ -635,8 +649,8 @@ public class ConfigurationMetadataAnnotationProcessorTests {
|
|
|
|
|
metadata = project.incrementalBuild(IncrementalEndpoint.class);
|
|
|
|
|
assertThat(metadata).has(Metadata.withGroup("endpoints.incremental")
|
|
|
|
|
.fromSource(IncrementalEndpoint.class));
|
|
|
|
|
assertThat(metadata).has(enabledFlag("incremental", true));
|
|
|
|
|
assertThat(metadata).has(webEnabledFlag("incremental", false));
|
|
|
|
|
assertThat(metadata).has(enabledFlag("incremental", null));
|
|
|
|
|
assertThat(metadata).has(webEnabledFlag("incremental", null));
|
|
|
|
|
assertThat(metadata).has(cacheTtl("incremental"));
|
|
|
|
|
assertThat(metadata.getItems()).hasSize(4);
|
|
|
|
|
}
|
|
|
|
|
@@ -648,8 +662,8 @@ public class ConfigurationMetadataAnnotationProcessorTests {
|
|
|
|
|
ConfigurationMetadata metadata = project.fullBuild();
|
|
|
|
|
assertThat(metadata).has(Metadata.withGroup("endpoints.incremental")
|
|
|
|
|
.fromSource(IncrementalJmxEndpoint.class));
|
|
|
|
|
assertThat(metadata).has(enabledFlag("incremental", true));
|
|
|
|
|
assertThat(metadata).has(jmxEnabledFlag("incremental", true));
|
|
|
|
|
assertThat(metadata).has(enabledFlag("incremental", null));
|
|
|
|
|
assertThat(metadata).has(jmxEnabledFlag("incremental", null));
|
|
|
|
|
assertThat(metadata).has(cacheTtl("incremental"));
|
|
|
|
|
assertThat(metadata.getItems()).hasSize(4);
|
|
|
|
|
project.replaceText(IncrementalJmxEndpoint.class,
|
|
|
|
|
@@ -657,29 +671,29 @@ public class ConfigurationMetadataAnnotationProcessorTests {
|
|
|
|
|
metadata = project.incrementalBuild(IncrementalJmxEndpoint.class);
|
|
|
|
|
assertThat(metadata).has(Metadata.withGroup("endpoints.incremental")
|
|
|
|
|
.fromSource(IncrementalJmxEndpoint.class));
|
|
|
|
|
assertThat(metadata).has(enabledFlag("incremental", true));
|
|
|
|
|
assertThat(metadata).has(jmxEnabledFlag("incremental", true));
|
|
|
|
|
assertThat(metadata).has(webEnabledFlag("incremental", false));
|
|
|
|
|
assertThat(metadata).has(enabledFlag("incremental", null));
|
|
|
|
|
assertThat(metadata).has(jmxEnabledFlag("incremental", null));
|
|
|
|
|
assertThat(metadata).has(webEnabledFlag("incremental", null));
|
|
|
|
|
assertThat(metadata).has(cacheTtl("incremental"));
|
|
|
|
|
assertThat(metadata.getItems()).hasSize(5);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private Metadata.MetadataItemCondition enabledFlag(String endpointId,
|
|
|
|
|
boolean defaultValue) {
|
|
|
|
|
Boolean defaultValue) {
|
|
|
|
|
return Metadata.withEnabledFlag("endpoints." + endpointId + ".enabled")
|
|
|
|
|
.withDefaultValue(defaultValue)
|
|
|
|
|
.withDescription(String.format("Enable the %s endpoint.", endpointId));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private Metadata.MetadataItemCondition jmxEnabledFlag(String endpointId,
|
|
|
|
|
boolean defaultValue) {
|
|
|
|
|
Boolean defaultValue) {
|
|
|
|
|
return Metadata.withEnabledFlag("endpoints." + endpointId + ".jmx.enabled")
|
|
|
|
|
.withDefaultValue(defaultValue).withDescription(String
|
|
|
|
|
.format("Expose the %s endpoint as a JMX MBean.", endpointId));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private Metadata.MetadataItemCondition webEnabledFlag(String endpointId,
|
|
|
|
|
boolean defaultValue) {
|
|
|
|
|
Boolean defaultValue) {
|
|
|
|
|
return Metadata.withEnabledFlag("endpoints." + endpointId + ".web.enabled")
|
|
|
|
|
.withDefaultValue(defaultValue).withDescription(String
|
|
|
|
|
.format("Expose the %s endpoint as a Web endpoint.", endpointId));
|
|
|
|
|
|