Skip to content

Commit

Permalink
Respect custom username/password properties
Browse files Browse the repository at this point in the history
Fix a bug in `DataSourceInitializationConfiguration` that was stopping
custom username/password properties from being applied.

Fixes gh-26676
  • Loading branch information
philwebb committed May 26, 2021
1 parent 7d60936 commit e559484
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 3 deletions.
Expand Up @@ -64,7 +64,7 @@ class DataSourceInitializationConfiguration {

private static DataSource determineDataSource(Supplier<DataSource> dataSource, String username, String password) {
if (StringUtils.hasText(username) && StringUtils.hasText(password)) {
DataSourceBuilder.derivedFrom(dataSource.get()).type(SimpleDriverDataSource.class).username(username)
return DataSourceBuilder.derivedFrom(dataSource.get()).type(SimpleDriverDataSource.class).username(username)
.password(password).build();
}
return dataSource.get();
Expand Down
Expand Up @@ -198,7 +198,9 @@ void dataSourceInitializedWithSchemaCredentials() {
"spring.datasource.schema-username:admin", "spring.datasource.schema-password:admin")
.run((context) -> {
assertThat(context).hasFailed();
assertThat(context.getStartupFailure()).isInstanceOf(BeanCreationException.class);
assertThat(context.getStartupFailure()).isInstanceOf(BeanCreationException.class)
.hasMessageContaining("invalid authorization specification");
context.getStartupFailure().printStackTrace();
});
}

Expand All @@ -212,7 +214,8 @@ void dataSourceInitializedWithDataCredentials() {
"spring.datasource.data-username:admin", "spring.datasource.data-password:admin")
.run((context) -> {
assertThat(context).hasFailed();
assertThat(context.getStartupFailure()).isInstanceOf(BeanCreationException.class);
assertThat(context.getStartupFailure()).isInstanceOf(BeanCreationException.class)
.hasMessageContaining("invalid authorization specification");
});
}

Expand Down

0 comments on commit e559484

Please sign in to comment.