diff --git a/pom.xml b/pom.xml index cff0069..f2a6b60 100644 --- a/pom.xml +++ b/pom.xml @@ -135,6 +135,13 @@ test + + net.postgis + postgis-jdbc + 2023.1.0 + test + + ru.yandex.clickhouse clickhouse-jdbc diff --git a/src/main/java/io/ebean/test/containers/PostgisContainer.java b/src/main/java/io/ebean/test/containers/PostgisContainer.java index bc9f0a4..1ebf64b 100644 --- a/src/main/java/io/ebean/test/containers/PostgisContainer.java +++ b/src/main/java/io/ebean/test/containers/PostgisContainer.java @@ -35,6 +35,8 @@ private PostgisContainer(Builder config) { */ public static class Builder extends BaseDbBuilder { + private boolean useLW; + private Builder(String version) { super("postgis", 6432, 5432, version); this.image = "ghcr.io/baosystems/postgis:" + version; @@ -44,19 +46,32 @@ private Builder(String version) { this.extraDbExtensions = extensions; } + private String prefix() { + return useLW ? "jdbc:postgresql_lwgis://" : "jdbc:postgresql://"; + } + @Override protected String buildJdbcUrl() { - return "jdbc:postgresql://" + host + ":" + port + "/" + dbName; + return prefix() + host + ":" + port + "/" + dbName; } @Override protected String buildJdbcAdminUrl() { - return "jdbc:postgresql://" + host + ":" + port + "/postgres"; + return prefix() + host + ":" + port + "/postgres"; } @Override protected String buildExtraJdbcUrl() { - return "jdbc:postgresql://" + host + ":" + port + "/" + extraDb; + return prefix() + host + ":" + port + "/" + extraDb; + } + + /** + * Set to use HexWKB and DriverWrapperLW. The JDBC URL will prefix with + * jdbc:postgresql_lwgis:// instead of jdbc:postgresql://. + */ + Builder useLW(boolean useLW) { + this.useLW = useLW; + return this; } @Override diff --git a/src/test/java/io/ebean/test/containers/PostgisContainerTest.java b/src/test/java/io/ebean/test/containers/PostgisContainerTest.java index 550cc7b..6a9e099 100644 --- a/src/test/java/io/ebean/test/containers/PostgisContainerTest.java +++ b/src/test/java/io/ebean/test/containers/PostgisContainerTest.java @@ -16,6 +16,7 @@ class PostgisContainerTest { void extraDb() throws java.sql.SQLException { PostgisContainer container = PostgisContainer.builder("15") .port(0) + .useLW(true) .extraDb("myextra") .build(); @@ -27,6 +28,7 @@ void extraDb() throws java.sql.SQLException { String jdbcUrl = container.config().jdbcUrl(); assertThat(jdbcUrl).contains(":" + containerConfig.port()); + assertThat(jdbcUrl).startsWith("jdbc:postgresql_lwgis://"); runSomeSql(container); DataSourcePool dataSource = container.ebean().dataSourceBuilder().build();