Merge branch '1.3.x'
This commit is contained in:
commit
df4ef3e1cb
|
@ -54,6 +54,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionEvaluationRepor
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||||
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate;
|
||||||
import org.springframework.boot.autoconfigure.condition.SearchStrategy;
|
import org.springframework.boot.autoconfigure.condition.SearchStrategy;
|
||||||
import org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration;
|
import org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration;
|
import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration;
|
||||||
|
@ -178,7 +179,7 @@ public class EndpointAutoConfiguration {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
@ConditionalOnBean(Flyway.class)
|
@ConditionalOnSingleCandidate(Flyway.class)
|
||||||
@ConditionalOnClass(Flyway.class)
|
@ConditionalOnClass(Flyway.class)
|
||||||
static class FlywayEndpointConfiguration {
|
static class FlywayEndpointConfiguration {
|
||||||
|
|
||||||
|
@ -191,7 +192,7 @@ public class EndpointAutoConfiguration {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
@ConditionalOnBean(SpringLiquibase.class)
|
@ConditionalOnSingleCandidate(SpringLiquibase.class)
|
||||||
@ConditionalOnClass(SpringLiquibase.class)
|
@ConditionalOnClass(SpringLiquibase.class)
|
||||||
static class LiquibaseEndpointConfiguration {
|
static class LiquibaseEndpointConfiguration {
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,8 @@ import java.util.LinkedHashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
|
import liquibase.integration.spring.SpringLiquibase;
|
||||||
|
import org.flywaydb.core.Flyway;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
|
@ -61,6 +63,7 @@ import org.springframework.core.io.support.PropertiesLoaderUtils;
|
||||||
import org.springframework.validation.BindException;
|
import org.springframework.validation.BindException;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests for {@link EndpointAutoConfiguration}.
|
* Tests for {@link EndpointAutoConfiguration}.
|
||||||
|
@ -206,6 +209,15 @@ public class EndpointAutoConfigurationTests {
|
||||||
assertThat(endpoint.invoke()).hasSize(1);
|
assertThat(endpoint.invoke()).hasSize(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void flywayEndpointIsDisabledWhenThereAreMultipleFlywayBeans() {
|
||||||
|
this.context = new AnnotationConfigApplicationContext();
|
||||||
|
this.context.register(MultipleFlywayBeansConfig.class,
|
||||||
|
EndpointAutoConfiguration.class);
|
||||||
|
this.context.refresh();
|
||||||
|
assertThat(this.context.getBeansOfType(FlywayEndpoint.class)).hasSize(0);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testLiquibaseEndpoint() {
|
public void testLiquibaseEndpoint() {
|
||||||
this.context = new AnnotationConfigApplicationContext();
|
this.context = new AnnotationConfigApplicationContext();
|
||||||
|
@ -217,6 +229,15 @@ public class EndpointAutoConfigurationTests {
|
||||||
assertThat(endpoint.invoke()).hasSize(1);
|
assertThat(endpoint.invoke()).hasSize(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void liquibaseEndpointIsDisabledWhenThereAreMultipleSpringLiquibaseBeans() {
|
||||||
|
this.context = new AnnotationConfigApplicationContext();
|
||||||
|
this.context.register(MultipleLiquibaseBeansConfig.class,
|
||||||
|
EndpointAutoConfiguration.class);
|
||||||
|
this.context.refresh();
|
||||||
|
assertThat(this.context.getBeansOfType(LiquibaseEndpoint.class)).hasSize(0);
|
||||||
|
}
|
||||||
|
|
||||||
private void load(Class<?>... config) {
|
private void load(Class<?>... config) {
|
||||||
this.context = new AnnotationConfigApplicationContext();
|
this.context = new AnnotationConfigApplicationContext();
|
||||||
this.context.register(config);
|
this.context.register(config);
|
||||||
|
@ -287,4 +308,34 @@ public class EndpointAutoConfigurationTests {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
static class MultipleFlywayBeansConfig {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
Flyway flywayOne() {
|
||||||
|
return mock(Flyway.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
Flyway flywayTwo() {
|
||||||
|
return mock(Flyway.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
static class MultipleLiquibaseBeansConfig {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
SpringLiquibase liquibaseOne() {
|
||||||
|
return mock(SpringLiquibase.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
SpringLiquibase liquibaseTwo() {
|
||||||
|
return mock(SpringLiquibase.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue