Skip to content

Commit

Permalink
Merge branch '2.4.x' into 2.5.x
Browse files Browse the repository at this point in the history
Closes gh-26917
  • Loading branch information
wilkinsona committed Jun 15, 2021
2 parents 44187bc + a1e279f commit 2c2ab69
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 0 deletions.
Expand Up @@ -103,6 +103,7 @@ public FlywaySchemaManagementProvider flywayDefaultDdlModeProvider(ObjectProvide
}

@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(JdbcUtils.class)
@ConditionalOnMissingBean(Flyway.class)
@EnableConfigurationProperties(FlywayProperties.class)
public static class FlywayConfiguration {
Expand Down
Expand Up @@ -39,6 +39,7 @@
import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.jdbc.core.ConnectionCallback;
import org.springframework.jdbc.datasource.SimpleDriverDataSource;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
Expand Down Expand Up @@ -73,6 +74,7 @@ public LiquibaseSchemaManagementProvider liquibaseDefaultDdlModeProvider(
}

@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(ConnectionCallback.class)
@ConditionalOnMissingBean(SpringLiquibase.class)
@EnableConfigurationProperties(LiquibaseProperties.class)
public static class LiquibaseConfiguration {
Expand Down
Expand Up @@ -50,6 +50,7 @@
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.boot.jdbc.SchemaManagement;
import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
import org.springframework.boot.test.context.FilteredClassLoader;
import org.springframework.boot.test.context.assertj.AssertableApplicationContext;
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
import org.springframework.boot.test.context.runner.ContextConsumer;
Expand Down Expand Up @@ -115,6 +116,13 @@ void createsDataSourceWithNoDataSourceBeanAndFlywayUrl() {
});
}

@Test
void backsOffWithFlywayUrlAndNoSpringJdbc() {
this.contextRunner.withPropertyValues("spring.flyway.url:jdbc:hsqldb:mem:" + UUID.randomUUID())
.withClassLoader(new FilteredClassLoader("org.springframework.jdbc"))
.run((context) -> assertThat(context).doesNotHaveBean(Flyway.class));
}

@Test
void createDataSourceWithUrl() {
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
Expand Down
Expand Up @@ -43,6 +43,7 @@
import org.springframework.boot.autoconfigure.jooq.JooqAutoConfiguration;
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.boot.test.context.FilteredClassLoader;
import org.springframework.boot.test.context.assertj.AssertableApplicationContext;
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
import org.springframework.boot.test.context.runner.ContextConsumer;
Expand Down Expand Up @@ -95,6 +96,13 @@ void createsDataSourceWithNoDataSourceBeanAndLiquibaseUrl() {
}));
}

@Test
void backsOffWithLiquibaseUrlAndNoSpringJdbc() {
this.contextRunner.withPropertyValues("spring.liquibase.url:jdbc:hsqldb:mem:" + UUID.randomUUID())
.withClassLoader(new FilteredClassLoader("org.springframework.jdbc"))
.run((context) -> assertThat(context).doesNotHaveBean(SpringLiquibase.class));
}

@Test
void defaultSpringLiquibase() {
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
Expand Down

0 comments on commit 2c2ab69

Please sign in to comment.