Add Liquibase show-summary and show-summary-output properties

Update `LiquibaseProperties` and `LiquibaseAutoConfiguration` to
support the recently added `setShowSummary` and
`setShowSummaryOutput` methods.

See gh-38274
This commit is contained in:
Claudio Nave
2023-11-09 11:38:35 -08:00
committed by Phillip Webb
parent 61aecdedd6
commit 4a6564c0a9
3 changed files with 59 additions and 0 deletions

View File

@@ -113,6 +113,8 @@ public class LiquibaseAutoConfiguration {
liquibase.setRollbackFile(properties.getRollbackFile());
liquibase.setTestRollbackOnUpdate(properties.isTestRollbackOnUpdate());
liquibase.setTag(properties.getTag());
liquibase.setShowSummary(properties.getShowSummary());
liquibase.setShowSummaryOutput(properties.getShowSummaryOutput());
return liquibase;
}

View File

@@ -19,6 +19,8 @@ package org.springframework.boot.autoconfigure.liquibase;
import java.io.File;
import java.util.Map;
import liquibase.UpdateSummaryEnum;
import liquibase.UpdateSummaryOutputEnum;
import liquibase.integration.spring.SpringLiquibase;
import org.springframework.boot.context.properties.ConfigurationProperties;
@@ -135,6 +137,18 @@ public class LiquibaseProperties {
*/
private String tag;
/**
* Whether to print a summary of the update operation. Values can be 'off', 'summary'
* (default), 'verbose'
*/
private UpdateSummaryEnum showSummary;
/**
* Where to print a summary of the update operation. Values can be 'log' (default),
* 'console', or 'all'.
*/
private UpdateSummaryOutputEnum showSummaryOutput;
public String getChangeLog() {
return this.changeLog;
}
@@ -288,4 +302,20 @@ public class LiquibaseProperties {
this.tag = tag;
}
public UpdateSummaryEnum getShowSummary() {
return this.showSummary;
}
public void setShowSummary(UpdateSummaryEnum showSummary) {
this.showSummary = showSummary;
}
public UpdateSummaryOutputEnum getShowSummaryOutput() {
return this.showSummaryOutput;
}
public void setShowSummaryOutput(UpdateSummaryOutputEnum showSummaryOutput) {
this.showSummaryOutput = showSummaryOutput;
}
}

View File

@@ -29,6 +29,8 @@ import java.util.function.Consumer;
import javax.sql.DataSource;
import com.zaxxer.hikari.HikariDataSource;
import liquibase.UpdateSummaryEnum;
import liquibase.UpdateSummaryOutputEnum;
import liquibase.integration.spring.SpringLiquibase;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
@@ -117,6 +119,9 @@ class LiquibaseAutoConfigurationTests {
assertThat(liquibase.getDefaultSchema()).isNull();
assertThat(liquibase.isDropFirst()).isFalse();
assertThat(liquibase.isClearCheckSums()).isFalse();
UpdateSummaryOutputEnum showSummaryOutput = (UpdateSummaryOutputEnum) ReflectionTestUtils
.getField(liquibase, "showSummaryOutput");
assertThat(showSummaryOutput).isEqualTo(UpdateSummaryOutputEnum.LOG);
}));
}
@@ -383,6 +388,28 @@ class LiquibaseAutoConfigurationTests {
.run(assertLiquibase((liquibase) -> assertThat(liquibase.getLabelFilter()).isEqualTo("test, production")));
}
@Test
void overrideShowSummary() {
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
.withPropertyValues("spring.liquibase.show-summary=off")
.run(assertLiquibase((liquibase) -> {
UpdateSummaryEnum showSummary = (UpdateSummaryEnum) ReflectionTestUtils.getField(liquibase,
"showSummary");
assertThat(showSummary).isEqualTo(UpdateSummaryEnum.OFF);
}));
}
@Test
void overrideShowSummaryOutput() {
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
.withPropertyValues("spring.liquibase.show-summary-output=all")
.run(assertLiquibase((liquibase) -> {
UpdateSummaryOutputEnum showSummaryOutput = (UpdateSummaryOutputEnum) ReflectionTestUtils
.getField(liquibase, "showSummaryOutput");
assertThat(showSummaryOutput).isEqualTo(UpdateSummaryOutputEnum.ALL);
}));
}
@Test
@SuppressWarnings("unchecked")
void testOverrideParameters() {