Browse Source

Polish "Back off if a custom ApplicationAvailability bean is present"

See gh-34347
pull/35401/head
Stephane Nicoll 3 years ago
parent
commit
1b832d82f8
  1. 2
      spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/availability/ApplicationAvailabilityAutoConfiguration.java
  2. 36
      spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/availability/ApplicationAvailabilityAutoConfigurationTests.java

2
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/availability/ApplicationAvailabilityAutoConfiguration.java

@ -34,7 +34,7 @@ import org.springframework.context.annotation.Bean; @@ -34,7 +34,7 @@ import org.springframework.context.annotation.Bean;
public class ApplicationAvailabilityAutoConfiguration {
@Bean
@ConditionalOnMissingBean(ApplicationAvailability.class)
@ConditionalOnMissingBean
public ApplicationAvailability applicationAvailability() {
return new ApplicationAvailabilityBean();
}

36
spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/availability/ApplicationAvailabilityAutoConfigurationTests.java

@ -20,13 +20,10 @@ import org.junit.jupiter.api.Test; @@ -20,13 +20,10 @@ import org.junit.jupiter.api.Test;
import org.springframework.boot.autoconfigure.AutoConfigurations;
import org.springframework.boot.availability.ApplicationAvailability;
import org.springframework.boot.availability.AvailabilityChangeEvent;
import org.springframework.boot.availability.AvailabilityState;
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
/**
* Tests for {@link ApplicationAvailabilityAutoConfiguration}
@ -46,35 +43,12 @@ class ApplicationAvailabilityAutoConfigurationTests { @@ -46,35 +43,12 @@ class ApplicationAvailabilityAutoConfigurationTests {
}
@Test
void providerIsPresentWithRegisteredOne() {
this.contextRunner.withUserConfiguration(ApplicationAvailabilityConfig.class)
void providerIsNotConfiguredWhenCustomOneIsPresent() {
this.contextRunner
.withBean("customApplicationAvailability", ApplicationAvailability.class,
() -> mock(ApplicationAvailability.class))
.run(((context) -> assertThat(context).hasSingleBean(ApplicationAvailability.class)
.hasBean("customApplicationAvailability")));
}
@Configuration(proxyBeanMethods = false)
static class ApplicationAvailabilityConfig {
@Bean
ApplicationAvailability customApplicationAvailability() {
return new ApplicationAvailability() {
@Override
public <S extends AvailabilityState> S getState(Class<S> stateType, S defaultState) {
return null;
}
@Override
public <S extends AvailabilityState> S getState(Class<S> stateType) {
return null;
}
@Override
public <S extends AvailabilityState> AvailabilityChangeEvent<S> getLastChangeEvent(Class<S> stateType) {
return null;
}
};
}
}
}

Loading…
Cancel
Save