Polish contribution
See gh-25456
This commit is contained in:
@@ -248,12 +248,11 @@ public class FlywayAutoConfiguration {
|
||||
.to((skipExecutingMigrations) -> configuration.skipExecutingMigrations(skipExecutingMigrations));
|
||||
// Teams secrets management properties (all non-method reference for
|
||||
// compatibility with Flyway 6.x)
|
||||
map.from(properties.getConjurUrl()).whenNonNull().to((conjurUrl) -> configuration.conjurUrl(conjurUrl));
|
||||
map.from(properties.getConjurToken()).whenNonNull()
|
||||
.to((conjurToken) -> configuration.conjurToken(conjurToken));
|
||||
map.from(properties.getVaultUrl()).whenNonNull().to((vaultUrl) -> configuration.vaultUrl(vaultUrl));
|
||||
map.from(properties.getVaultToken()).whenNonNull().to((vaultToken) -> configuration.vaultToken(vaultToken));
|
||||
map.from(properties.getVaultSecrets()).whenNonNull()
|
||||
map.from(properties.getConjurUrl()).to((conjurUrl) -> configuration.conjurUrl(conjurUrl));
|
||||
map.from(properties.getConjurToken()).to((conjurToken) -> configuration.conjurToken(conjurToken));
|
||||
map.from(properties.getVaultUrl()).to((vaultUrl) -> configuration.vaultUrl(vaultUrl));
|
||||
map.from(properties.getVaultToken()).to((vaultToken) -> configuration.vaultToken(vaultToken));
|
||||
map.from(properties.getVaultSecrets()).whenNot(List::isEmpty)
|
||||
.to((vaultSecrets) -> configuration.vaultSecrets(vaultSecrets.toArray(new String[0])));
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012-2020 the original author or authors.
|
||||
* Copyright 2012-2021 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -350,9 +350,10 @@ public class FlywayProperties {
|
||||
private String vaultToken;
|
||||
|
||||
/**
|
||||
* Comma-separated list of paths to secrets that contain Flyway configurations. Each
|
||||
* path must start with the name of the engine and end with the name of the secret
|
||||
* such 'kv/test/1/config'. Requires Flyway teams.
|
||||
* Comma-separated list of paths to secrets that contain Flyway configurations. This
|
||||
* must start with the name of the engine followed by '/data/' and end with the name
|
||||
* of the secret. The resulting form is '{engine}/data/{path}/{to}/{secret_name}'.
|
||||
* Requires Flyway teams.
|
||||
*/
|
||||
private List<String> vaultSecrets;
|
||||
|
||||
|
||||
@@ -416,21 +416,21 @@ class FlywayAutoConfigurationTests {
|
||||
@Test
|
||||
void batchIsCorrectlyMapped() {
|
||||
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||
.withPropertyValues("spring.flyway.batch=true").run(validateTeamsPropertyCorrectlyMapped("batch"));
|
||||
.withPropertyValues("spring.flyway.batch=true").run(validateFlywayTeamsPropertyOnly("batch"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void dryRunOutputIsCorrectlyMapped() {
|
||||
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||
.withPropertyValues("spring.flyway.dryRunOutput=dryrun.sql")
|
||||
.run(validateTeamsPropertyCorrectlyMapped("dryRunOutput"));
|
||||
.run(validateFlywayTeamsPropertyOnly("dryRunOutput"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void errorOverridesIsCorrectlyMapped() {
|
||||
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||
.withPropertyValues("spring.flyway.errorOverrides=D12345")
|
||||
.run(validateTeamsPropertyCorrectlyMapped("errorOverrides"));
|
||||
.run(validateFlywayTeamsPropertyOnly("errorOverrides"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -444,27 +444,27 @@ class FlywayAutoConfigurationTests {
|
||||
void oracleSqlplusIsCorrectlyMapped() {
|
||||
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||
.withPropertyValues("spring.flyway.oracle-sqlplus=true")
|
||||
.run(validateTeamsPropertyCorrectlyMapped("oracle.sqlplus"));
|
||||
.run(validateFlywayTeamsPropertyOnly("oracle.sqlplus"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void oracleSqlplusWarnIsCorrectlyMapped() {
|
||||
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||
.withPropertyValues("spring.flyway.oracle-sqlplus-warn=true")
|
||||
.run(validateTeamsPropertyCorrectlyMapped("oracle.sqlplusWarn"));
|
||||
.run(validateFlywayTeamsPropertyOnly("oracle.sqlplusWarn"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void streamIsCorrectlyMapped() {
|
||||
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||
.withPropertyValues("spring.flyway.stream=true").run(validateTeamsPropertyCorrectlyMapped("stream"));
|
||||
.withPropertyValues("spring.flyway.stream=true").run(validateFlywayTeamsPropertyOnly("stream"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void undoSqlMigrationPrefix() {
|
||||
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||
.withPropertyValues("spring.flyway.undo-sql-migration-prefix=undo")
|
||||
.run(validateTeamsPropertyCorrectlyMapped("undoSqlMigrationPrefix"));
|
||||
.run(validateFlywayTeamsPropertyOnly("undoSqlMigrationPrefix"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -499,78 +499,77 @@ class FlywayAutoConfigurationTests {
|
||||
@Test
|
||||
void cherryPickIsCorrectlyMapped() {
|
||||
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||
.withPropertyValues("spring.flyway.cherry-pick=1.1")
|
||||
.run(validateTeamsPropertyCorrectlyMapped("cherryPick"));
|
||||
.withPropertyValues("spring.flyway.cherry-pick=1.1").run(validateFlywayTeamsPropertyOnly("cherryPick"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void jdbcPropertiesAreCorrectlyMapped() {
|
||||
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||
.withPropertyValues("spring.flyway.jdbc-properties.prop=value")
|
||||
.run(validateTeamsPropertyCorrectlyMapped("jdbcProperties"));
|
||||
.run(validateFlywayTeamsPropertyOnly("jdbcProperties"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void oracleKerberosCacheFileIsCorrectlyMapped() {
|
||||
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||
.withPropertyValues("spring.flyway.oracle-kerberos-cache-file=/tmp/cache")
|
||||
.run(validateTeamsPropertyCorrectlyMapped("oracle.kerberosCacheFile"));
|
||||
.run(validateFlywayTeamsPropertyOnly("oracle.kerberosCacheFile"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void oracleKerberosConfigFileIsCorrectlyMapped() {
|
||||
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||
.withPropertyValues("spring.flyway.oracle-kerberos-config-file=/tmp/config")
|
||||
.run(validateTeamsPropertyCorrectlyMapped("oracle.kerberosConfigFile"));
|
||||
.run(validateFlywayTeamsPropertyOnly("oracle.kerberosConfigFile"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void outputQueryResultsIsCorrectlyMapped() {
|
||||
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||
.withPropertyValues("spring.flyway.output-query-results=false")
|
||||
.run(validateTeamsPropertyCorrectlyMapped("outputQueryResults"));
|
||||
.run(validateFlywayTeamsPropertyOnly("outputQueryResults"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void skipExecutingMigrationsIsCorrectlyMapped() {
|
||||
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||
.withPropertyValues("spring.flyway.skip-executing-migrations=true")
|
||||
.run(validateTeamsPropertyCorrectlyMapped("skipExecutingMigrations"));
|
||||
.run(validateFlywayTeamsPropertyOnly("skipExecutingMigrations"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void conjurUrlIsCorrectlyMapped() {
|
||||
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||
.withPropertyValues("spring.flyway.conjur-url=http://foo.com/secrets")
|
||||
.run(validateTeamsPropertyCorrectlyMapped("conjurUrl"));
|
||||
.run(validateFlywayTeamsPropertyOnly("conjurUrl"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void conjurTokenIsCorrectlyMapped() {
|
||||
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||
.withPropertyValues("spring.flyway.conjur-token=5150")
|
||||
.run(validateTeamsPropertyCorrectlyMapped("conjurToken"));
|
||||
.run(validateFlywayTeamsPropertyOnly("conjurToken"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void vaultUrlIsCorrectlyMapped() {
|
||||
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||
.withPropertyValues("spring.flyway.vault-url=http://foo.com/secrets")
|
||||
.run(validateTeamsPropertyCorrectlyMapped("vaultUrl"));
|
||||
.run(validateFlywayTeamsPropertyOnly("vaultUrl"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void vaultTokenIsCorrectlyMapped() {
|
||||
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||
.withPropertyValues("spring.flyway.vault-token=5150")
|
||||
.run(validateTeamsPropertyCorrectlyMapped("vaultToken"));
|
||||
.run(validateFlywayTeamsPropertyOnly("vaultToken"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void vaultSecretsIsCorrectlyMapped() {
|
||||
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||
.withPropertyValues("spring.flyway.vault-secrets=kv/test/1/config,kv/test/2/config")
|
||||
.run(validateTeamsPropertyCorrectlyMapped("vaultSecrets"));
|
||||
.withPropertyValues("spring.flyway.vault-secrets=kv/data/test/1/config,kv/data/test/2/config")
|
||||
.run(validateFlywayTeamsPropertyOnly("vaultSecrets"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -600,7 +599,7 @@ class FlywayAutoConfigurationTests {
|
||||
});
|
||||
}
|
||||
|
||||
private ContextConsumer<AssertableApplicationContext> validateTeamsPropertyCorrectlyMapped(String propertyName) {
|
||||
private ContextConsumer<AssertableApplicationContext> validateFlywayTeamsPropertyOnly(String propertyName) {
|
||||
return (context) -> {
|
||||
assertThat(context).hasFailed();
|
||||
Throwable failure = context.getStartupFailure();
|
||||
|
||||
Reference in New Issue
Block a user