PostgreSQL JDBC Format

[resolves #10]

Signed-off-by: Ben Hale <bhale@vmware.com>
This commit is contained in:
Ben Hale
2020-05-11 08:52:28 -07:00
parent 47f03804ca
commit 81f30595c1
2 changed files with 6 additions and 6 deletions

View File

@@ -25,6 +25,8 @@ import java.util.Map;
/**
* An implementation of {@link BindingsPropertiesProcessor} that detects {@link Binding}s of kind: {@value KIND}.
*
* @see <a href="https://jdbc.postgresql.org/documentation/80/connect.html">JDBC URL Format</a>
*/
public final class PostgreSqlBindingsPropertiesProcessor implements BindingsPropertiesProcessor {
@@ -40,9 +42,8 @@ public final class PostgreSqlBindingsPropertiesProcessor implements BindingsProp
properties.put("spring.datasource.driver-class-name", "org.postgresql.Driver");
properties.put("spring.datasource.password", secret.get("password"));
properties.put("spring.datasource.url", String.format("jdbc:postgres://%s:%s/%s?user=%s&password=%s",
secret.get("host"), secret.get("port"), secret.get("db"), secret.get("username"),
secret.get("password")));
properties.put("spring.datasource.url", String.format("jdbc:postgres://%s:%s/%s",
secret.get("host"), secret.get("port"), secret.get("database")));
properties.put("spring.datasource.username", secret.get("username"));
});
}

View File

@@ -41,7 +41,7 @@ final class PostgreSqlBindingsPropertiesProcessorTest {
new Binding("test-name", Paths.get("test-path"),
Collections.singletonMap("kind", KIND),
new FluentMap()
.withEntry("db", "test-db")
.withEntry("database", "test-database")
.withEntry("host", "test-host")
.withEntry("password", "test-password")
.withEntry("port", "test-port")
@@ -52,8 +52,7 @@ final class PostgreSqlBindingsPropertiesProcessorTest {
assertThat(properties)
.containsEntry("spring.datasource.driver-class-name", "org.postgresql.Driver")
.containsEntry("spring.datasource.password", "test-password")
.containsEntry("spring.datasource.url",
"jdbc:postgres://test-host:test-port/test-db?user=test-username&password=test-password")
.containsEntry("spring.datasource.url", "jdbc:postgres://test-host:test-port/test-database")
.containsEntry("spring.datasource.username", "test-username");
}