|
|
|
|
@ -18,6 +18,10 @@ package org.springframework.boot.autoconfigure.liquibase;
@@ -18,6 +18,10 @@ package org.springframework.boot.autoconfigure.liquibase;
|
|
|
|
|
|
|
|
|
|
import java.io.File; |
|
|
|
|
import java.io.IOException; |
|
|
|
|
import java.lang.annotation.ElementType; |
|
|
|
|
import java.lang.annotation.Retention; |
|
|
|
|
import java.lang.annotation.RetentionPolicy; |
|
|
|
|
import java.lang.annotation.Target; |
|
|
|
|
import java.nio.file.Files; |
|
|
|
|
import java.nio.file.Path; |
|
|
|
|
import java.sql.Connection; |
|
|
|
|
@ -58,6 +62,7 @@ import org.springframework.boot.test.context.runner.ApplicationContextRunner;
@@ -58,6 +62,7 @@ import org.springframework.boot.test.context.runner.ApplicationContextRunner;
|
|
|
|
|
import org.springframework.boot.test.context.runner.ContextConsumer; |
|
|
|
|
import org.springframework.boot.test.system.CapturedOutput; |
|
|
|
|
import org.springframework.boot.test.system.OutputCaptureExtension; |
|
|
|
|
import org.springframework.boot.testsupport.classpath.resources.WithResource; |
|
|
|
|
import org.springframework.context.annotation.Bean; |
|
|
|
|
import org.springframework.context.annotation.Configuration; |
|
|
|
|
import org.springframework.context.annotation.Primary; |
|
|
|
|
@ -100,6 +105,7 @@ class LiquibaseAutoConfigurationTests {
@@ -100,6 +105,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void createsDataSourceWithNoDataSourceBeanAndLiquibaseUrl() { |
|
|
|
|
String jdbcUrl = "jdbc:hsqldb:mem:liquibase" + UUID.randomUUID(); |
|
|
|
|
this.contextRunner.withPropertyValues("spring.liquibase.url:" + jdbcUrl).run(assertLiquibase((liquibase) -> { |
|
|
|
|
@ -116,6 +122,7 @@ class LiquibaseAutoConfigurationTests {
@@ -116,6 +122,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void defaultSpringLiquibase() { |
|
|
|
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class) |
|
|
|
|
.run(assertLiquibase((liquibase) -> { |
|
|
|
|
@ -138,6 +145,7 @@ class LiquibaseAutoConfigurationTests {
@@ -138,6 +145,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void liquibaseDataSourceIsUsedOverJdbcConnectionDetails() { |
|
|
|
|
this.contextRunner |
|
|
|
|
.withUserConfiguration(LiquibaseDataSourceConfiguration.class, JdbcConnectionDetailsConfiguration.class) |
|
|
|
|
@ -150,6 +158,7 @@ class LiquibaseAutoConfigurationTests {
@@ -150,6 +158,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void liquibaseDataSourceIsUsedOverLiquibaseConnectionDetails() { |
|
|
|
|
this.contextRunner |
|
|
|
|
.withUserConfiguration(LiquibaseDataSourceConfiguration.class, |
|
|
|
|
@ -163,6 +172,7 @@ class LiquibaseAutoConfigurationTests {
@@ -163,6 +172,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void liquibasePropertiesAreUsedOverJdbcConnectionDetails() { |
|
|
|
|
this.contextRunner |
|
|
|
|
.withPropertyValues("spring.liquibase.url=jdbc:hsqldb:mem:liquibasetest", "spring.liquibase.user=some-user", |
|
|
|
|
@ -193,6 +203,18 @@ class LiquibaseAutoConfigurationTests {
@@ -193,6 +203,18 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithResource(name = "db/changelog/db.changelog-override.xml", |
|
|
|
|
content = """ |
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?> |
|
|
|
|
<databaseChangeLog |
|
|
|
|
xmlns="http://www.liquibase.org/xml/ns/dbchangelog" |
|
|
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
|
|
|
|
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" |
|
|
|
|
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.8.xsd
|
|
|
|
|
http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">
|
|
|
|
|
|
|
|
|
|
</databaseChangeLog> |
|
|
|
|
""") |
|
|
|
|
void changelogXml() { |
|
|
|
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class) |
|
|
|
|
.withPropertyValues("spring.liquibase.change-log:classpath:/db/changelog/db.changelog-override.xml") |
|
|
|
|
@ -201,6 +223,11 @@ class LiquibaseAutoConfigurationTests {
@@ -201,6 +223,11 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithResource(name = "db/changelog/db.changelog-override.json", content = """ |
|
|
|
|
{ |
|
|
|
|
"databaseChangeLog": [] |
|
|
|
|
} |
|
|
|
|
""") |
|
|
|
|
void changelogJson() { |
|
|
|
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class) |
|
|
|
|
.withPropertyValues("spring.liquibase.change-log:classpath:/db/changelog/db.changelog-override.json") |
|
|
|
|
@ -209,6 +236,16 @@ class LiquibaseAutoConfigurationTests {
@@ -209,6 +236,16 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithResource(name = "db/changelog/db.changelog-override.sql", content = """ |
|
|
|
|
--liquibase formatted sql |
|
|
|
|
|
|
|
|
|
--changeset author:awilkinson |
|
|
|
|
|
|
|
|
|
CREATE TABLE customer ( |
|
|
|
|
id int AUTO_INCREMENT NOT NULL PRIMARY KEY, |
|
|
|
|
name varchar(50) NOT NULL |
|
|
|
|
); |
|
|
|
|
""") |
|
|
|
|
void changelogSql() { |
|
|
|
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class) |
|
|
|
|
.withPropertyValues("spring.liquibase.change-log:classpath:/db/changelog/db.changelog-override.sql") |
|
|
|
|
@ -217,6 +254,7 @@ class LiquibaseAutoConfigurationTests {
@@ -217,6 +254,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void defaultValues() { |
|
|
|
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class) |
|
|
|
|
.run(assertLiquibase((liquibase) -> { |
|
|
|
|
@ -235,6 +273,7 @@ class LiquibaseAutoConfigurationTests {
@@ -235,6 +273,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void overrideContexts() { |
|
|
|
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class) |
|
|
|
|
.withPropertyValues("spring.liquibase.contexts:test, production") |
|
|
|
|
@ -242,6 +281,7 @@ class LiquibaseAutoConfigurationTests {
@@ -242,6 +281,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void overrideDefaultSchema() { |
|
|
|
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class) |
|
|
|
|
.withPropertyValues("spring.liquibase.default-schema:public") |
|
|
|
|
@ -249,6 +289,7 @@ class LiquibaseAutoConfigurationTests {
@@ -249,6 +289,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void overrideLiquibaseInfrastructure() { |
|
|
|
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class) |
|
|
|
|
.withPropertyValues("spring.liquibase.liquibase-schema:public", |
|
|
|
|
@ -269,6 +310,7 @@ class LiquibaseAutoConfigurationTests {
@@ -269,6 +310,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void overrideDropFirst() { |
|
|
|
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class) |
|
|
|
|
.withPropertyValues("spring.liquibase.drop-first:true") |
|
|
|
|
@ -276,6 +318,7 @@ class LiquibaseAutoConfigurationTests {
@@ -276,6 +318,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void overrideClearChecksums() { |
|
|
|
|
String jdbcUrl = "jdbc:hsqldb:mem:liquibase" + UUID.randomUUID(); |
|
|
|
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class) |
|
|
|
|
@ -287,6 +330,7 @@ class LiquibaseAutoConfigurationTests {
@@ -287,6 +330,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void overrideDataSource() { |
|
|
|
|
String jdbcUrl = "jdbc:hsqldb:mem:liquibase" + UUID.randomUUID(); |
|
|
|
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class) |
|
|
|
|
@ -299,6 +343,7 @@ class LiquibaseAutoConfigurationTests {
@@ -299,6 +343,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void overrideDataSourceAndDriverClassName() { |
|
|
|
|
String jdbcUrl = "jdbc:hsqldb:mem:liquibase" + UUID.randomUUID(); |
|
|
|
|
String driverClassName = "org.hsqldb.jdbcDriver"; |
|
|
|
|
@ -313,6 +358,7 @@ class LiquibaseAutoConfigurationTests {
@@ -313,6 +358,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void overrideUser() { |
|
|
|
|
String databaseName = "normal" + UUID.randomUUID(); |
|
|
|
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class) |
|
|
|
|
@ -327,6 +373,7 @@ class LiquibaseAutoConfigurationTests {
@@ -327,6 +373,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void overrideUserWhenCustom() { |
|
|
|
|
this.contextRunner.withUserConfiguration(CustomDataSourceConfiguration.class) |
|
|
|
|
.withPropertyValues("spring.liquibase.user:test", "spring.liquibase.password:secret") |
|
|
|
|
@ -340,6 +387,7 @@ class LiquibaseAutoConfigurationTests {
@@ -340,6 +387,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void createDataSourceDoesNotFallbackToEmbeddedProperties() { |
|
|
|
|
String jdbcUrl = "jdbc:hsqldb:mem:liquibase" + UUID.randomUUID(); |
|
|
|
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class) |
|
|
|
|
@ -352,6 +400,7 @@ class LiquibaseAutoConfigurationTests {
@@ -352,6 +400,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void overrideUserAndFallbackToEmbeddedProperties() { |
|
|
|
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class) |
|
|
|
|
.withPropertyValues("spring.liquibase.user:sa") |
|
|
|
|
@ -362,6 +411,7 @@ class LiquibaseAutoConfigurationTests {
@@ -362,6 +411,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void overrideTestRollbackOnUpdate() { |
|
|
|
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class) |
|
|
|
|
.withPropertyValues("spring.liquibase.test-rollback-on-update:true") |
|
|
|
|
@ -382,12 +432,14 @@ class LiquibaseAutoConfigurationTests {
@@ -382,12 +432,14 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void logging(CapturedOutput output) { |
|
|
|
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class) |
|
|
|
|
.run(assertLiquibase((liquibase) -> assertThat(output).doesNotContain(": liquibase:"))); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void overrideLabelFilter() { |
|
|
|
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class) |
|
|
|
|
.withPropertyValues("spring.liquibase.label-filter:test, production") |
|
|
|
|
@ -395,6 +447,7 @@ class LiquibaseAutoConfigurationTests {
@@ -395,6 +447,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void overrideShowSummary() { |
|
|
|
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class) |
|
|
|
|
.withPropertyValues("spring.liquibase.show-summary=off") |
|
|
|
|
@ -406,6 +459,7 @@ class LiquibaseAutoConfigurationTests {
@@ -406,6 +459,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void overrideShowSummaryOutput() { |
|
|
|
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class) |
|
|
|
|
.withPropertyValues("spring.liquibase.show-summary-output=all") |
|
|
|
|
@ -417,6 +471,7 @@ class LiquibaseAutoConfigurationTests {
@@ -417,6 +471,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void overrideUiService() { |
|
|
|
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class) |
|
|
|
|
.withPropertyValues("spring.liquibase.ui-service=console") |
|
|
|
|
@ -425,6 +480,7 @@ class LiquibaseAutoConfigurationTests {
@@ -425,6 +480,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
@SuppressWarnings("unchecked") |
|
|
|
|
void testOverrideParameters() { |
|
|
|
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class) |
|
|
|
|
@ -438,6 +494,7 @@ class LiquibaseAutoConfigurationTests {
@@ -438,6 +494,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void rollbackFile(@TempDir Path temp) throws IOException { |
|
|
|
|
File file = Files.createTempFile(temp, "rollback-file", "sql").toFile(); |
|
|
|
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class) |
|
|
|
|
@ -451,6 +508,7 @@ class LiquibaseAutoConfigurationTests {
@@ -451,6 +508,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void liquibaseDataSource() { |
|
|
|
|
this.contextRunner |
|
|
|
|
.withUserConfiguration(LiquibaseDataSourceConfiguration.class, EmbeddedDataSourceConfiguration.class) |
|
|
|
|
@ -461,6 +519,7 @@ class LiquibaseAutoConfigurationTests {
@@ -461,6 +519,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void liquibaseDataSourceWithoutDataSourceAutoConfiguration() { |
|
|
|
|
this.contextRunner.withUserConfiguration(LiquibaseDataSourceConfiguration.class).run((context) -> { |
|
|
|
|
SpringLiquibase liquibase = context.getBean(SpringLiquibase.class); |
|
|
|
|
@ -469,6 +528,7 @@ class LiquibaseAutoConfigurationTests {
@@ -469,6 +528,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void userConfigurationBeans() { |
|
|
|
|
this.contextRunner |
|
|
|
|
.withUserConfiguration(LiquibaseUserConfiguration.class, EmbeddedDataSourceConfiguration.class) |
|
|
|
|
@ -479,6 +539,7 @@ class LiquibaseAutoConfigurationTests {
@@ -479,6 +539,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void userConfigurationEntityManagerFactoryDependency() { |
|
|
|
|
this.contextRunner.withConfiguration(AutoConfigurations.of(HibernateJpaAutoConfiguration.class)) |
|
|
|
|
.withUserConfiguration(LiquibaseUserConfiguration.class, EmbeddedDataSourceConfiguration.class) |
|
|
|
|
@ -489,6 +550,7 @@ class LiquibaseAutoConfigurationTests {
@@ -489,6 +550,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void userConfigurationJdbcTemplateDependency() { |
|
|
|
|
this.contextRunner.withConfiguration(AutoConfigurations.of(JdbcTemplateAutoConfiguration.class)) |
|
|
|
|
.withUserConfiguration(LiquibaseUserConfiguration.class, EmbeddedDataSourceConfiguration.class) |
|
|
|
|
@ -499,6 +561,7 @@ class LiquibaseAutoConfigurationTests {
@@ -499,6 +561,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void overrideTag() { |
|
|
|
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class) |
|
|
|
|
.withPropertyValues("spring.liquibase.tag:1.0.0") |
|
|
|
|
@ -506,6 +569,7 @@ class LiquibaseAutoConfigurationTests {
@@ -506,6 +569,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void whenLiquibaseIsAutoConfiguredThenJooqDslContextDependsOnSpringLiquibaseBeans() { |
|
|
|
|
this.contextRunner.withConfiguration(AutoConfigurations.of(JooqAutoConfiguration.class)) |
|
|
|
|
.withUserConfiguration(EmbeddedDataSourceConfiguration.class) |
|
|
|
|
@ -516,6 +580,7 @@ class LiquibaseAutoConfigurationTests {
@@ -516,6 +580,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void whenCustomSpringLiquibaseIsDefinedThenJooqDslContextDependsOnSpringLiquibaseBeans() { |
|
|
|
|
this.contextRunner.withConfiguration(AutoConfigurations.of(JooqAutoConfiguration.class)) |
|
|
|
|
.withUserConfiguration(LiquibaseUserConfiguration.class, EmbeddedDataSourceConfiguration.class) |
|
|
|
|
@ -536,12 +601,14 @@ class LiquibaseAutoConfigurationTests {
@@ -536,12 +601,14 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void whenCustomizerBeanIsDefinedThenItIsConfiguredOnSpringLiquibase() { |
|
|
|
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class, CustomizerConfiguration.class) |
|
|
|
|
.run(assertLiquibase((liquibase) -> assertThat(liquibase.getCustomizer()).isNotNull())); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void whenAnalyticsEnabledIsFalseThenSpringLiquibaseHasAnalyticsDisabled() { |
|
|
|
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class) |
|
|
|
|
.withPropertyValues("spring.liquibase.analytics-enabled=false") |
|
|
|
|
@ -551,6 +618,7 @@ class LiquibaseAutoConfigurationTests {
@@ -551,6 +618,7 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
@WithDbChangelogMasterYamlResource |
|
|
|
|
void whenLicenseKeyIsSetThenSpringLiquibaseHasLicenseKey() { |
|
|
|
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class) |
|
|
|
|
.withPropertyValues("spring.liquibase.license-key=a1b2c3d4") |
|
|
|
|
@ -709,4 +777,32 @@ class LiquibaseAutoConfigurationTests {
@@ -709,4 +777,32 @@ class LiquibaseAutoConfigurationTests {
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@WithResource(name = "db/changelog/db.changelog-master.yaml", content = """ |
|
|
|
|
databaseChangeLog: |
|
|
|
|
- changeSet: |
|
|
|
|
id: 1 |
|
|
|
|
author: marceloverdijk |
|
|
|
|
changes: |
|
|
|
|
- createTable: |
|
|
|
|
tableName: customer |
|
|
|
|
columns: |
|
|
|
|
- column: |
|
|
|
|
name: id |
|
|
|
|
type: int |
|
|
|
|
autoIncrement: true |
|
|
|
|
constraints: |
|
|
|
|
primaryKey: true |
|
|
|
|
nullable: false |
|
|
|
|
- column: |
|
|
|
|
name: name |
|
|
|
|
type: varchar(50) |
|
|
|
|
constraints: |
|
|
|
|
nullable: false |
|
|
|
|
""") |
|
|
|
|
@Retention(RetentionPolicy.RUNTIME) |
|
|
|
|
@Target(ElementType.METHOD) |
|
|
|
|
@interface WithDbChangelogMasterYamlResource { |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|