diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/logging/LogFileWebEndpointAutoConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/logging/LogFileWebEndpointAutoConfigurationTests.java index bcd048c0cd..aa2dd6922e 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/logging/LogFileWebEndpointAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/logging/LogFileWebEndpointAutoConfigurationTests.java @@ -49,54 +49,80 @@ public class LogFileWebEndpointAutoConfigurationTests { public final TemporaryFolder temp = new TemporaryFolder(); @Test - public void logFileWebEndpointIsAutoConfiguredWhenLoggingFileIsSet() { - this.contextRunner.withPropertyValues("logging.file.name:test.log").run( - (context) -> assertThat(context).hasSingleBean(LogFileWebEndpoint.class)); + public void runWithOnlyExposedShouldNotHaveEndpointBean() { + this.contextRunner + .withPropertyValues("management.endpoints.web.exposure.include=logfile") + .run((context) -> assertThat(context) + .doesNotHaveBean(LogFileWebEndpoint.class)); } @Test - @Deprecated - public void logFileWebEndpointIsAutoConfiguredWhenLoggingFileIsSetWithDeprecatedProperty() { - this.contextRunner.withPropertyValues("logging.file:test.log").run( - (context) -> assertThat(context).hasSingleBean(LogFileWebEndpoint.class)); + public void runWhenLoggingFileIsSetAndNotExposedShouldNotHaveEndpointBean() { + this.contextRunner.withPropertyValues("logging.file.name:test.log") + .run((context) -> assertThat(context) + .doesNotHaveBean(LogFileWebEndpoint.class)); } @Test - public void logFileWebEndpointIsAutoConfiguredWhenLoggingPathIsSet() { - this.contextRunner.withPropertyValues("logging.file.path:test/logs").run( - (context) -> assertThat(context).hasSingleBean(LogFileWebEndpoint.class)); + public void runWhenLoggingFileIsSetAndExposedShouldHaveEndpointBean() { + this.contextRunner + .withPropertyValues("logging.file.name:test.log", + "management.endpoints.web.exposure.include=logfile") + .run((context) -> assertThat(context) + .hasSingleBean(LogFileWebEndpoint.class)); } @Test @Deprecated - public void logFileWebEndpointIsAutoConfiguredWhenLoggingPathIsSetWithDeprecatedProperty() { - this.contextRunner.withPropertyValues("logging.path:test/logs").run( - (context) -> assertThat(context).hasSingleBean(LogFileWebEndpoint.class)); + public void runWhenLoggingFileIsSetWithDeprecatedPropertyAndExposedShouldHaveEndpointBean() { + this.contextRunner + .withPropertyValues("logging.file:test.log", + "management.endpoints.web.exposure.include=logfile") + .run((context) -> assertThat(context) + .hasSingleBean(LogFileWebEndpoint.class)); } @Test - public void logFileWebEndpointIsAutoConfiguredWhenExternalFileIsSet() { + public void runWhenLoggingPathIsSetAndNotExposedShouldNotHaveEndpointBean() { + this.contextRunner.withPropertyValues("logging.file.path:test/logs") + .run((context) -> assertThat(context) + .doesNotHaveBean(LogFileWebEndpoint.class)); + } + + @Test + public void runWhenLoggingPathIsSetAndExposedShouldHaveEndpointBean() { this.contextRunner - .withPropertyValues( - "management.endpoint.logfile.external-file:external.log") + .withPropertyValues("logging.file.path:test/logs", + "management.endpoints.web.exposure.include=logfile") .run((context) -> assertThat(context) .hasSingleBean(LogFileWebEndpoint.class)); } @Test - public void logFileWebEndpointCanBeDisabled() { + @Deprecated + public void runWhenLoggingPathIsSetWithDeprecatedPropertyAndExposedShouldHaveEndpointBean() { this.contextRunner - .withPropertyValues("logging.file.name:test.log", - "management.endpoint.logfile.enabled:false") + .withPropertyValues("logging.path:test/logs", + "management.endpoints.web.exposure.include=logfile") .run((context) -> assertThat(context) - .doesNotHaveBean(LogFileWebEndpoint.class)); + .hasSingleBean(LogFileWebEndpoint.class)); + } + + @Test + public void logFileWebEndpointIsAutoConfiguredWhenExternalFileIsSet() { + this.contextRunner + .withPropertyValues( + "management.endpoint.logfile.external-file:external.log", + "management.endpoints.web.exposure.include=logfile") + .run((context) -> assertThat(context) + .hasSingleBean(LogFileWebEndpoint.class)); } @Test - public void logFileWebEndpointCanBeExcluded() { + public void logFileWebEndpointCanBeDisabled() { this.contextRunner .withPropertyValues("logging.file.name:test.log", - "management.endpoints.web.exposure.exclude=logfile") + "management.endpoint.logfile.enabled:false") .run((context) -> assertThat(context) .doesNotHaveBean(LogFileWebEndpoint.class)); } @@ -106,6 +132,7 @@ public class LogFileWebEndpointAutoConfigurationTests { File file = this.temp.newFile(); FileCopyUtils.copy("--TEST--".getBytes(), file); this.contextRunner.withPropertyValues( + "management.endpoints.web.exposure.include=logfile", "management.endpoint.logfile.external-file:" + file.getAbsolutePath()) .run((context) -> { assertThat(context).hasSingleBean(LogFileWebEndpoint.class);